Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Pole z databáze PSQL v PHP-select

V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
David Šabacký:7.11.2022 13:02

Zdravím, mám PHP, DB POSTGRES a na select a print_r v php mi vrací

[nazev] => prvni
[0] => prvni
[adresa]=> druhy
[1]=>druhy

nicméně ta pole [0] a [1] v db vůbec nemám. Potřebuji to hodit do JSON a 0,1... tam nechci.

Zkusil jsem:

...
$select = $pdo->prepare("SELECT * FROM XXXX WHERE id=:id");
$select->execute(['id' => $id]);
$result = $select->fetchALL();
...
print_r($result["0"]);

Chci docílit: Kompletního a čistého po json_encode($re­sult["0"])

Díky

 
Odpovědět
7.11.2022 13:02
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:7.11.2022 15:52

Sql vraci sloupce v poradi. Metoda u fetch rozhoduje jakym zpusobem. Bud pouzije nazvy sloupcu, cisla sloupcu nebo oboji dohromady.
Takze si najdi, jak se v tvem driveru nastavuje, aby do fetch pouzival jen nazvy sloupcu nebo cisla nebo, kdo vi, co potrebujes?
Jinak, ptas se na php v sql forku. Spis sem chodi lide, co ovladaji sql jazyk, php nikoliv , ale mozna jiny z asi tisic programovacich jazyku :)

https://www.php.net/…fetchall.php
Zkus mrknout na example 1, 2, 3

->fetchAll();
->fetchAll(PDO::FETCH_COLUMN, 0);
->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP);
->fetchAll(PDO::FETCH_KEY_PAIR));
->fetchAll(PDO::FETCH_ASSOC); // tohle by te mohlo zajimat

https://www.php.net/…nt.fetch.php

Parameters
mode
PDO::FETCH_BOTH (default) // default!
PDO::FETCH_NUM
PDO::FETCH_ASSOC
...
 
Nahoru Odpovědět
7.11.2022 15:52
Avatar
Odpovídá na Peter Mlich
David Šabacký:7.11.2022 16:36

Jop, to je ono, moc díky

 
Nahoru Odpovědět
7.11.2022 16:36
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.