Gestion de plusieurs requêtes dans PDO
PDO a introduit la prise en charge de l'exécution simultanée de plusieurs requêtes via son pilote PDO_MYSQLND. Cependant, récupérer plusieurs ensembles de résultats à partir de ces requêtes présente un défi.
Considérez l'exemple de code suivant :
$db->query("SELECT 1; SELECT 2;")->fetchAll(PDO::FETCH_ASSOC);
L'exécution de ce code renverra uniquement l'ensemble de résultats pour la première requête SELECT. Pour accéder aux résultats de la deuxième requête SELECT, vous devez utiliser la méthode PDOStatement::nextRowset.
$stmt = $db->query("SELECT 1; SELECT 2;"); $stmt->nextRowset(); var_dump($stmt->fetchAll(PDO::FETCH_ASSOC));
Avec PDOStatement::nextRowset, vous pouvez parcourir plusieurs ensembles de résultats, vous permettant de les gérer séparément.
Cette implémentation peut sembler inhabituelle, mais elle offre une flexibilité en permettant d'appliquer différents styles FETCH à des requêtes individuelles. Cependant, ce serait plus simple si tous les jeux de résultats étaient renvoyés sous un seul tableau.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!