Alle Datensätze aus dem PDO-Ergebnis in PHP
Man kann sofort ein Array aller
Datensätze aus dem Abfrageergebnis erhalten.
Dies geschieht mit der Methode fetchAll.
Lassen Sie uns die verschiedenen Betriebsmodi
dieser Methode betrachten.
Alle Beispiele beziehen sich auf die Testtabelle.
Einfaches Array abrufen
Wenden wir die Methode fetchAll an,
um ein einfaches Datenarray zu erhalten.
Dazu lassen wir die Parameter der Methode
leer:
<?php
$res = $pdo->query('SELECT * FROM users');
$row = $res->fetchAll();
var_dump($row);
?>
Ergebnis der Codeausführung:
[
[
'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,
],
]
Eine Spalte abrufen
Lassen Sie uns nur eine Spalte
aus der Tabelle abrufen. Dazu übergeben wir
der Methode fetchAll den Parameter
FETCH_COLUMN:
<?php
$res = $pdo->query('SELECT name FROM users');
$row = $res->fetchAll(PDO::FETCH_COLUMN);
var_dump($row);
?>
Ergebnis der Codeausführung:
[
'name1',
'name2',
'name3',
'name4',
'name5',
]
Schlüssel-Wert-Paare abrufen
Lassen Sie uns die Daten in Form von
Schlüssel-Wert-Paaren abrufen, wobei der Schlüssel die ID ist
und der Wert der Benutzername. Dazu übergeben wir den Modus
FETCH_KEY_PAIR als Parameter
der Methode fetchAll:
<?php
$res = $pdo->query('SELECT id, name FROM users');
$row = $res->fetchAll(PDO::FETCH_KEY_PAIR);
var_dump($row);
?>
Ergebnis der Codeausführung:
[
1 => 'name1',
2 => 'name2',
3 => 'name3',
4 => 'name4',
5 => 'name5',
]
Datensätze mit eindeutigem Feld abrufen
Man kann bewirken, dass ein eindeutiges Feld (in der Regel
id) zum Schlüssel für jedes
Unterarray wird:
<?php
$res = $pdo->query('SELECT * FROM users');
$row = $res->fetchAll(PDO::FETCH_UNIQUE);
var_dump($row);
?>
Ergebnis der Codeausführung:
[
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,
],
]
Praktische Aufgaben
Geben Sie alle Benutzer
aus der Tabelle users aus,
indem Sie die in der Lektion beschriebene
Methode verwenden.
Geben Sie einen Datensatz
aus der Tabelle users aus.
Geben Sie Namen und Alter der Benutzer als Schlüssel-Wert-Paare aus.