Mysql
 sql >> Base de données >  >> RDS >> Mysql

Requêtes multiples PDO

Il s'avère que vous devez utiliser PDOStatement::nextRowset .

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

Cela renverra le résultat de la deuxième requête.

C'est une mise en œuvre un peu bizarre. Ce serait certainement plus facile si l'instruction multi-requête renvoyait simplement les deux ensembles de résultats sous un seul tableau. Cependant, l'avantage est que cette implémentation permet de récupérer chaque requête en utilisant différents styles FETCH .