Vse vrstice iz rezultata v PDO v PHP
Takoj lahko dobite polje vseh
vrstic iz rezultata poizvedbe.
To naredimo z metodo fetchAll.
Oglejmo si različne načine delovanja
te metode.
Vsi primeri bodo za testno tabelo.
Pridobivanje preprostega polja
Uporabimo metodo fetchAll
za pridobitev preprostega polja podatkov.
Za to pustimo parametre metode
prazne:
<?php
$res = $pdo->query('SELECT * FROM users');
$row = $res->fetchAll();
var_dump($row);
?>
Rezultat izvajanja kode:
[
[
'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,
],
]
Pridobivanje enega stolpca
Pridobimo samo en stolpec
iz tabele. Za to posredujemo v
metodo fetchAll parameter
FETCH_COLUMN:
<?php
$res = $pdo->query('SELECT name FROM users');
$row = $res->fetchAll(PDO::FETCH_COLUMN);
var_dump($row);
?>
Rezultat izvajanja kode:
[
'name1',
'name2',
'name3',
'name4',
'name5',
]
Pridobivanje para ključ-vrednost
Pridobimo podatke v obliki
para ključ-vrednost, kjer bo ključ id,
vrednost pa ime uporabnika. Za to v parameter
metode fetchAll posredujemo način
FETCH_KEY_PAIR:
<?php
$res = $pdo->query('SELECT id, name FROM users');
$row = $res->fetchAll(PDO::FETCH_KEY_PAIR);
var_dump($row);
?>
Rezultat izvajanja kode:
[
1 => 'name1',
2 => 'name2',
3 => 'name3',
4 => 'name4',
5 => 'name5',
]
Pridobivanje zapisov z edinstvenim poljem
Lahko naredimo tako, da edinstveno polje (praviloma
je to id), postane ključ za vsak
podpolje:
<?php
$res = $pdo->query('SELECT * FROM users');
$row = $res->fetchAll(PDO::FETCH_UNIQUE);
var_dump($row);
?>
Rezultat izvajanja kode:
[
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čne naloge
Izpišite vse uporabnike
iz tabele users,
z uporabo metode, opisane v lekciji.
Izpišite eno vrstico podatkov
iz tabele users.
Izpišite ime in starost uporabnikov v obliki para ključ-vrednost.