Svi redovi iz rezultata u PDO u PHP
Možete odmah dobiti niz svih
redova iz rezultata upita.
To se radi pomoću metode fetchAll.
Hajde da razmotrimo različite režime rada
ove metode.
Svi primeri će biti za testnu tabelu.
Dobijanje jednostavnog niza
Hajde da primenimo metodu fetchAll
za dobijanje jednostavnog niza podataka.
Za to ćemo ostaviti parametre metode
praznim:
<?php
$res = $pdo->query('SELECT * FROM users');
$row = $res->fetchAll();
var_dump($row);
?>
Rezultat izvršavanja koda:
[
[
'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,
],
]
Dobijanje jedne kolone
Hajde da dobijemo samo jednu kolonu
iz tabele. Za to ćemo proslediti u
metodu fetchAll parametar
FETCH_COLUMN:
<?php
$res = $pdo->query('SELECT name FROM users');
$row = $res->fetchAll(PDO::FETCH_COLUMN);
var_dump($row);
?>
Rezultat izvršavanja koda:
[
'name1',
'name2',
'name3',
'name4',
'name5',
]
Dobijanje para ključ-vrednost
Hajde da dobijemo podatke u vidu
para ključ-vrednost, gde će ključ biti id,
a vrednost ime korisnika. Za to ćemo u parametar
metoda fetchAll proslediti režim
FETCH_KEY_PAIR:
<?php
$res = $pdo->query('SELECT id, name FROM users');
$row = $res->fetchAll(PDO::FETCH_KEY_PAIR);
var_dump($row);
?>
Rezultat izvršavanja koda:
[
1 => 'name1',
2 => 'name2',
3 => 'name3',
4 => 'name4',
5 => 'name5',
]
Dobijanje zapisa sa jedinstvenim poljem
Možete da učinite tako da jedinstveno polje (obično
to je id), postane ključ za svaki
podniz:
<?php
$res = $pdo->query('SELECT * FROM users');
$row = $res->fetchAll(PDO::FETCH_UNIQUE);
var_dump($row);
?>
Rezultat izvršavanja koda:
[
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,
],
]
Praktični zadaci
Ispišite sve korisnike
iz tabele users,
koristeći opisanu u lekciji
metodu.
Ispišite jedan red podataka
iz tabele users.
Ispišite ime i godine korisnika u vidu para ključ-vrednost.