Maison  >  Article  >  développement back-end  >  Comment récupérer plusieurs jeux de résultats à partir de procédures stockées en PHP/MySQLi ?

Comment récupérer plusieurs jeux de résultats à partir de procédures stockées en PHP/MySQLi ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-31 18:05:30974parcourir

How to retrieve multiple result sets from stored procedures in PHP/MySQLi?

Récupération de plusieurs ensembles de résultats avec des procédures stockées dans PHP/MySQLi

Lorsque vous traitez des procédures stockées qui renvoient plusieurs ensembles de résultats, passer à l'étape suivante les résultats peuvent être un défi dans MySQLi.

Le problème :

Vous disposez d'une procédure stockée avec plusieurs résultats et vous souhaitez récupérer le deuxième jeu de résultats à l'aide de PHP/MySQLi. . Cependant, l'utilisation de mysqli_next_result() ne semble pas fonctionner efficacement.

La solution :

Pour récupérer avec succès plusieurs résultats d'une procédure stockée :

  1. Préparer et exécuter 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>
  2. Récupérer le premier jeu de résultats :

    <code class="php">$result1 = mysqli_stmt_get_result($stmt);
    while ($row = $result1->fetch_assoc()) {
     // Process first result set
    }</code>
  3. Passer à l'ensemble de résultats suivant :

    <code class="php">mysqli_stmt_next_result($stmt);</code>
  4. Récupérer le deuxième ensemble de résultats :

    <code class="php">$result2 = mysqli_stmt_get_result($stmt);
    while ($row = $result2->fetch_assoc()) {
     // Process second result set
    }</code>
  5. Fermer l'instruction :

    <code class="php">mysqli_stmt_close($stmt);</code>

Remarques supplémentaires :

  • Assurez-vous de lire le premier ensemble de résultats avant de passer au suivant.
  • L'utilisation du style orienté objet dans MySQLi peut fournir une syntaxe plus attrayante.

En suivant ces étapes, vous pouvez récupérer avec succès plusieurs ensembles de résultats à partir de procédures stockées à l'aide de PHP/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!

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