Heim  >  Artikel  >  Datenbank  >  Wie kann die „fetchAll'-Methode von PDO ein assoziatives Array aus aus einer Datenbank abgerufenen Schlüssel-Wert-Paaren erstellen?

Wie kann die „fetchAll'-Methode von PDO ein assoziatives Array aus aus einer Datenbank abgerufenen Schlüssel-Wert-Paaren erstellen?

Linda Hamilton
Linda HamiltonOriginal
2024-11-24 04:47:17849Durchsuche

How can PDO's `fetchAll` method create an associative array from key-value pairs retrieved from a database?

PDO FetchAll: Gruppieren von Schlüssel-Wert-Paaren in einem assoziativen Array

Frage:

Beim Abrufen von Schlüssel-Wert-Paaren Wie können wir aus einer Datenbank mit fetchAll von PDO ein assoziatives Array mit nach Schlüsseln gruppierten Werten erhalten? Methode?

Beispielsweise bei der Abfrage:

SELECT `key`, `value` FROM `settings`;

Wir möchten ein Array wie folgt erstellen:

array('first_name' => 'Tom', 'last_name' => 'Jefferson')

Antwort:

PDO bietet hierfür eine einfache und effiziente Lösung:

$q = $db->query("SELECT `key`, `value` FROM `settings`;");
$r = $q->fetchAll(PDO::FETCH_KEY_PAIR);

Dies Ansatz:

  • Führt die Abfrage aus und ruft alle Zeilen in das $q PDOStatement-Objekt ab.
  • Ruft fetchAll() mit PDO::FETCH_KEY_PAIR auf, um die Ergebnisse nach der ersten Spalte (Schlüssel) zu gruppieren ) und weisen Sie die zweite Spalte (Wert) als entsprechenden Wert zu.
  • Speichert das assoziative Array im $r Variable.

Diese Methode ist für diesen speziellen Anwendungsfall optimiert, da sie die Daten mit einer einzigen Abfrage und direkt in das gewünschte assoziative Array-Format abruft.

Für PostgreSQL 9.1 und PHP 5.3.8 läuft unter Windows 7 x64, diese Lösung funktioniert nachweislich effektiv.

Das obige ist der detaillierte Inhalt vonWie kann die „fetchAll'-Methode von PDO ein assoziatives Array aus aus einer Datenbank abgerufenen Schlüssel-Wert-Paaren erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn