Maison > développement back-end > tutoriel php > Pourquoi est-ce que j'obtiens une erreur « mysqli_next_result() : il n'y a pas de jeu de résultats suivant » avec mysqli_multi_query ?

Pourquoi est-ce que j'obtiens une erreur « mysqli_next_result() : il n'y a pas de jeu de résultats suivant » avec mysqli_multi_query ?

Linda Hamilton
Libérer: 2024-12-29 03:35:16
original
943 Les gens l'ont consulté

Why Am I Getting a

Normes strictes : erreur mysqli_next_result() avec mysqli_multi_query

De nombreux développeurs rencontrent une erreur de normes strictes lors de l'utilisation de mysqli_multi_query. Ce message d'erreur indique "mysqli_next_result() : Il n'y a pas de jeu de résultats suivant. Veuillez appeler mysqli_more_results()/mysqli::more_results() pour vérifier si vous devez appeler cette fonction/méthode."

Root Cause

L'erreur survient lorsque mysqli_multi_query est utilisé sans vérifier s'il y a des ensembles de résultats. Par défaut, mysqli_next_result passe au jeu de résultats suivant, même s'il n'en existe pas. Pour éviter l'erreur, la fonction mysqli_more_results doit être invoquée au préalable pour vérifier la présence de tout jeu de résultats supplémentaire.

Solution

Pour résoudre le problème, utilisez le code suivant :

if (mysqli_multi_query($db, $querystring)) {
    do {
        if ($result = mysqli_store_result($db)) {
            // ...
        }
    } while (mysqli_more_results($db) && mysqli_next_result($db));
}
Copier après la connexion

Cela garantit que mysqli_next_result n'est exécuté que s'il y a un résultat ultérieur set.

Notes complémentaires

  • Il n'est pas nécessaire de passer de DO WHILE à WHILE comme suggéré par certains.
  • Si aucun résultat les ensembles sont générés par les requêtes, aucune boucle ne sera exécutée.
  • De plus, le code peut être modifié pour compter le nombre de lignes affectées ou afficher des messages d'erreur.

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