Оказва се, че трябва да използвате PDOStatement::nextRowset
.
$stmt = $db->query("SELECT 1; SELECT 2;");
$stmt->nextRowset();
var_dump( $stmt->fetchAll(PDO::FETCH_ASSOC) );
Това ще върне резултата за втората заявка.
Това е малко странно изпълнение. Със сигурност би било по-лесно, ако операторът с множество заявки просто връща и двата набора резултати под един масив. Предимството обаче е, че тази реализация позволява да се извлича всяка заявка, използвайки различни FETCH стилове .