Diskuze: Absolutně nepochopitelná věc v PDO
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 10 zpráv z 10.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Tak zaprvé: Ty sprosté pozdravy si nech od cesty. Nejsem na to zvědavý.
$vysledek = $fetch->fetch(PDO::FETCH_ASSOC);
Doporučuji však změnit jméno proměnné $fetch
za něco
vhodnějšího.
Omlouvám se, nevěděl jsem, že si to vezmete tak k srdci. Děkuju za pomoc
Ještě by jsem se chtěl zeptat. Kdyby jsem chtěl, aby se mi vypsaly všechny články z databáze... Jak by jsem to měl udělat ? Řekněme, že každý článek by měl ID, které by mělo nastaveno AUTO_INCREMENT. Vím, že musím použít vyklus while(). Jenže jakou dát podmínku ?
Doufám, žes to s tím while nemyslel, že na každý článek použiješ samostatný dotaz! Prečti si seriál o SQL a PDO.
Ne tak jsem to opravdu nemyslel. Myslel jsem to tak, že použiju jeden cyklus na jeden table.
while ($vysledek = $fetch->fetch(PDO::FETCH_ASSOC)) {
echo $vysledek['ID'];
}
ale dá se to udělat i přes iterátor
foreach ($dotaz->fetchAll(PDO::FETCH_ASSOC) as $vysledek) {
echo $vysledek['ID'] . "\n";
}
nebo také jedním vrzem
echo implode("\n", $dotaz->fetchAll(PDO::FETCH_COLUMN));
Kolikrát žasnu, jak je řešení primitivní a já v něm hledám něco těžkého -_-
Tahle "primitivní" řešení umí až PDO. Ten starý ovladač to neuměl.
PDO umí i výsledek SQL dotazu nacpat do objektu. Práce s ním je pak velmi
jednoduchá, zpravidla stačí jen echo $objekt
.
Zobrazeno 10 zpráv z 10.