Maison > développement back-end > tutoriel php > Comment accéder à plusieurs ensembles de résultats à partir de procédures stockées en PHP/MySQLi ?

Comment accéder à plusieurs ensembles de résultats à partir de procédures stockées en PHP/MySQLi ?

Linda Hamilton
Libérer: 2024-11-01 10:34:02
original
774 Les gens l'ont consulté

How do you Access Multiple Result Sets from Stored Procedures in PHP/MySQLi?

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 :

  1. 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.
<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
  1. 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.
  2. Passer à l'ensemble de résultats suivant :
    Utilisez mysqli_stmt_next_result() pour passer à l'ensemble de résultats suivant.
  3. 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().
<code class="php">// Move to the second result set
mysqli_stmt_next_result($stmt);

// Retrieve the second result set
$result2 = mysqli_stmt_get_result($stmt);

// Fetch and print data from the second result set
while ($row = $result2->fetch_assoc()) {
    printf("%d\n", $row['id']);
}</code>
Copier après la connexion
  1. 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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal