Az összes sor az eredményből a PDO-ban PHP-ben
Azonnal le lehet kérni az összes
sort a lekérdezés eredményéből.
Ezt a fetchAll metódussal tehetjük meg.
Nézzük meg ennek a metódusnak a különböző
működési módjait.
Minden példa a teszt táblára vonatkozik.
Egyszerű tömb lekérése
Alkalmazzuk a fetchAll metódust
az adatok egyszerű tömb formájában való lekéréséhez.
Ehhez hagyjuk üresen a metódus paramétereit:
<?php
$res = $pdo->query('SELECT * FROM users');
$row = $res->fetchAll();
var_dump($row);
?>
A kód végrehajtásának eredménye:
[
[
'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,
],
]
Egy oszlop lekérése
Kérjük le csak egy oszlopot
a táblából. Ehhez adjuk át a
fetchAll metódusnak a
FETCH_COLUMN paramétert:
<?php
$res = $pdo->query('SELECT name FROM users');
$row = $res->fetchAll(PDO::FETCH_COLUMN);
var_dump($row);
?>
A kód végrehajtásának eredménye:
[
'name1',
'name2',
'name3',
'name4',
'name5',
]
Kulcs-érték pár lekérése
Kérjük le az adatokat
kulcs-érték pár formájában, ahol a kulcs az id,
az érték pedig a felhasználó neve. Ehhez a
fetchAll metódus paraméterébe adjuk át a
FETCH_KEY_PAIR módot:
<?php
$res = $pdo->query('SELECT id, name FROM users');
$row = $res->fetchAll(PDO::FETCH_KEY_PAIR);
var_dump($row);
?>
A kód végrehajtásának eredménye:
[
1 => 'name1',
2 => 'name2',
3 => 'name3',
4 => 'name4',
5 => 'name5',
]
Rekordok lekérése egyedi mezővel
Megtehetjük, hogy az egyedi mező (általában
ez a id) legyen a kulcsa minden
alltömbnek:
<?php
$res = $pdo->query('SELECT * FROM users');
$row = $res->fetchAll(PDO::FETCH_UNIQUE);
var_dump($row);
?>
A kód végrehajtásának eredménye:
[
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,
],
]
Gyakorlati feladatok
Jelenítsd meg az összes felhasználót
a users táblából,
a leckében ismertetett
metódus használatával.
Jeleníts meg egy adatsort
a users táblából.
Jelenítsd meg a felhasználók nevét és korát kulcs-érték pár formájában.