Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie kann ich mehrere Ergebnissätze aus einer einzelnen PDO-MySQL-Abfrage abrufen?

Barbara Streisand
Freigeben: 2024-11-18 09:47:02
Original
779 Leute haben es durchsucht

How Can I Retrieve Multiple Result Sets from a Single PDO MySQL Query?

Abrufen mehrerer Ergebnismengen aus mehreren PDO-Abfragen

Der PDO_MYSQLND-Treiber führte in PHP Version 5.3 die Unterstützung für mehrere Abfragen ein. Dadurch können Benutzer mehrere SQL-Abfragen gleichzeitig ausführen. Das Abrufen aller Ergebnismengen aus diesen Abfragen kann jedoch eine Herausforderung sein.

Problemstellung

Die Abfrage „SELECT 1; SELECT 2;“ führt beide Abfragen aus, es wird jedoch nur die Ergebnismenge der ersten Abfrage zurückgegeben. Der zweite Ergebnissatz scheint verworfen zu sein.

Lösung

Um mehrere Ergebnissätze abzurufen, muss die Methode PDOStatement::nextRowset verwendet werden. Diese Methode bewegt den Cursor zum Anfang des nächsten Rowsets. Durch den Aufruf von nextRowset nach der ersten Abfrage können Benutzer auf die Ergebnismenge der zweiten Abfrage zugreifen.

$stmt = $db->query("SELECT 1; SELECT 2;");
$stmt->nextRowset();
var_dump($stmt->fetchAll(PDO::FETCH_ASSOC));
Nach dem Login kopieren

Dadurch wird die Ergebnismenge für die zweite Abfrage zurückgegeben.

Vorteile und Nachteile

Diese Implementierung ermöglicht das Abrufen der Ergebnisse jeder Abfrage mit unterschiedlichen FETCH-Stilen. Sie kann jedoch komplexer sein als eine Implementierung, die einfach alle Ergebnismengen unter einem Array zurückgibt. Dennoch kann die Fähigkeit, flexibel mit mehreren Ergebnissen umzugehen, in manchen Szenarien wertvoll sein.

Das obige ist der detaillierte Inhalt vonWie kann ich mehrere Ergebnissätze aus einer einzelnen PDO-MySQL-Abfrage abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage