⊗ppSpPDADG 66 of 83 menu

Všechny řádky z výsledku v PDO v PHP

Lze okamžitě získat pole všech řádků z výsledku dotazu. To se provádí pomocí metody fetchAll. Pojďme se podívat na různé režimy práce této metody. Všechny příklady budou pro testovací tabulku.

Získání jednoduchého pole

Aplikujme metodu fetchAll pro získání jednoduchého pole dat. K tomu ponecháme parametry metody prázdné:

<?php $res = $pdo->query('SELECT * FROM users'); $row = $res->fetchAll(); var_dump($row); ?>

Výsledek provedení kódu:

[ [ 'id' => 1, 'name' => 'name1', 'age' => 21, 'salary' => 500, ], [ 'id' => 2, 'name' => 'name2', 'age' => 22, 'salary' => 600, ], [ 'id' => 3, 'name' => 'name3', 'age' => 23, 'salary' => 600, ], [ 'id' => 4, 'name' => 'name4', 'age' => 24, 'salary' => 700, ], [ 'id' => 5, 'name' => 'name5', 'age' => 25, 'salary' => 800, ], ]

Získání jednoho sloupce

Získejme pouze jeden sloupec z tabulky. K tomu předáme do metody fetchAll parametr FETCH_COLUMN:

<?php $res = $pdo->query('SELECT name FROM users'); $row = $res->fetchAll(PDO::FETCH_COLUMN); var_dump($row); ?>

Výsledek provedení kódu:

[ 'name1', 'name2', 'name3', 'name4', 'name5', ]

Získání páru klíč-hodnota

Získejme data ve formě páru klíč-hodnota, kde klíčem bude id, a hodnotou jméno uživatele. K tomu do parametru metody fetchAll předáme režim FETCH_KEY_PAIR:

<?php $res = $pdo->query('SELECT id, name FROM users'); $row = $res->fetchAll(PDO::FETCH_KEY_PAIR); var_dump($row); ?>

Výsledek provedení kódu:

[ 1 => 'name1', 2 => 'name2', 3 => 'name3', 4 => 'name4', 5 => 'name5', ]

Získání záznamů s unikátním polem

Lze zařídit, aby unikátní pole (obvykle je to id), se stalo klíčem pro každé podpole:

<?php $res = $pdo->query('SELECT * FROM users'); $row = $res->fetchAll(PDO::FETCH_UNIQUE); var_dump($row); ?>

Výsledek provedení kódu:

[ 1 => [ 'id' => 1, 'name' => 'name1', 'age' => 21, 'salary' => 500, ], 2 => [ 'id' => 2, 'name' => 'name2', 'age' => 22, 'salary' => 600, ], 3 => [ 'id' => 3, 'name' => 'name3', 'age' => 23, 'salary' => 600, ], 4 => [ 'id' => 4, 'name' => 'name4', 'age' => 24, 'salary' => 700, ], 5 => [ 'id' => 5, 'name' => 'name5', 'age' => 25, 'salary' => 800, ], ]

Praktické úlohy

Vypište všechny uživatele z tabulky users, pomocí metody popsané v lekci.

Vypište jeden řádek dat z tabulky users.

Vypište jméno a věk uživatelů ve formě páru klíč-hodnota.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout