Maison >base de données >tutoriel mysql >Comment récupérer plusieurs ensembles de résultats à partir de requêtes PDO simultanées ?

Comment récupérer plusieurs ensembles de résultats à partir de requêtes PDO simultanées ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-24 19:40:54160parcourir

How to Retrieve Multiple Result Sets from Simultaneous PDO Queries?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn