Kõik read tulemusest PDO-s PHP-s
Kõikide ridade massiivi saab kohe päringu tulemusest kätte.
Seda tehakse meetodi fetchAll abil.
Vaatame selle meetodi erinevaid töörežiime.
Kõik näited on tehtud testtabeli jaoks.
Lihtsa massiivi saamine
Rakendame meetodit fetchAll
andmete lihtsa massiivi saamiseks.
Selleks jätame meetodi parameetrid
tühjaks:
<?php
$res = $pdo->query('SELECT * FROM users');
$row = $res->fetchAll();
var_dump($row);
?>
Koodi täitmise tulemus:
[
[
'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,
],
]
Ühe veeru saamine
Saame ainult ühe veeru
tabelist. Selleks edastame
meetodile fetchAll parameetri
FETCH_COLUMN:
<?php
$res = $pdo->query('SELECT name FROM users');
$row = $res->fetchAll(PDO::FETCH_COLUMN);
var_dump($row);
?>
Koodi täitmise tulemus:
[
'name1',
'name2',
'name3',
'name4',
'name5',
]
Võtme-väärtuse paari saamine
Saame andmed kujul
võtme-väärtuse paar, kus võtmeks on id
ja väärtuseks kasutaja nimi. Selleks parameetrisse
meetodist fetchAll edastame režiimi
FETCH_KEY_PAIR:
<?php
$res = $pdo->query('SELECT id, name FROM users');
$row = $res->fetchAll(PDO::FETCH_KEY_PAIR);
var_dump($row);
?>
Koodi täitmise tulemus:
[
1 => 'name1',
2 => 'name2',
3 => 'name3',
4 => 'name4',
5 => 'name5',
]
Kirjete saamine unikaalse väljaga
Saame teha nii, et unikaalne väli (tavaliselt
see on id), muutub iga
alamassiivi võtmeks:
<?php
$res = $pdo->query('SELECT * FROM users');
$row = $res->fetchAll(PDO::FETCH_UNIQUE);
var_dump($row);
?>
Koodi täitmise tulemus:
[
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,
],
]
Praktilised ülesanded
Kuva kõik kasutajad
tabelist users,
kasutades selles õppetükis kirjeldatud
meetodit.
Kuva üks andmerida
tabelist users.
Kuva kasutajate nimi ja vanus kujul võtme-väärtuse paar.