Okazuje się, że musisz użyć PDOStatement::nextRowset
.
$stmt = $db->query("SELECT 1; SELECT 2;");
$stmt->nextRowset();
var_dump( $stmt->fetchAll(PDO::FETCH_ASSOC) );
To zwróci wynik dla drugiego zapytania.
To trochę dziwna implementacja. Z pewnością byłoby łatwiej, gdyby instrukcja multi-query zwróciła po prostu oba zestawy wyników pod jedną tablicą. Jednak zaletą jest to, że ta implementacja umożliwia pobranie każdego zapytania przy użyciu różnych stylów FETCH .