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 .