
Utilisation de plusieurs ensembles de résultats avec des procédures stockées en PHP/MySQLi
Une procédure stockée peut contenir plusieurs ensembles de résultats, vous permettant de récupérer diverses données ensembles avec une seule exécution. Cependant, accéder aux jeux de résultats suivants peut être difficile en PHP avec mysqli. Cette question se penche sur un problème spécifique rencontré lors de la tentative de récupération du deuxième ensemble de résultats à partir d'une procédure stockée à l'aide de mysqli.
La solution proposée implique les étapes suivantes :
-
Préparer et exécutez la procédure stockée :
Préparez une instruction et liez-y les paramètres d'entrée. Ensuite, exécutez la procédure stockée.
1 2 3 | <code class = "php" > $stmt = mysqli_prepare( $db , 'CALL multiples(?, ?)' );
mysqli_stmt_bind_param( $stmt , 'ii' , $param1 , $param2 );
mysqli_stmt_execute( $stmt );</code>
|
Copier après la connexion
-
Récupérer le premier ensemble de résultats (facultatif) :
Avant de passer au deuxième ensemble de résultats, vous pouvez choisissez de récupérer le premier jeu de résultats en utilisant mysqli_stmt_get_result(). Cette étape est facultative si vous n'êtes intéressé que par les résultats suivants.
-
Passer à l'ensemble de résultats suivant :
Utilisez mysqli_stmt_next_result() pour passer à l'ensemble de résultats suivant.
-
Récupérez le deuxième ensemble de résultats :
Obtenez le deuxième ensemble de résultats à l'aide de mysqli_stmt_get_result().
1 2 3 4 5 6 7 8 9 10 | <code class = "php" >
mysqli_stmt_next_result( $stmt );
$result2 = mysqli_stmt_get_result( $stmt );
while ( $row = $result2 ->fetch_assoc()) {
printf( "%d\n" , $row [ 'id' ]);
}</code>
|
Copier après la connexion
-
Fermez la déclaration :
Une fois tous les jeux de résultats récupérés, fermez l'instruction.
Cette méthode vous permet de naviguer et d'accéder efficacement à plusieurs jeux de résultats renvoyés par des procédures stockées en PHP à l'aide de mysqli.
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!