Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PDO-Mehrfachabfragen

Es stellt sich heraus, dass Sie PDOStatement::nextRowset verwenden müssen .

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

Dies gibt das Ergebnis für die zweite Abfrage zurück.

Es ist eine etwas seltsame Implementierung. Es wäre sicherlich einfacher, wenn die Multi-Query-Anweisung einfach beide Resultsets unter einem Array zurückgeben würde. Der Vorteil ist jedoch, dass diese Implementierung es ermöglicht, jede Abfrage mit unterschiedlichen FETCH-Stilen abzurufen .