Maison >développement back-end >tutoriel php >Comment résoudre l'erreur « Normes strictes : mysqli_next_result() avec mysqli_multi_query » ?
Problème :
Lors de l'utilisation de mysqli_multi_query, les utilisateurs peuvent rencontrer une erreur « Normes strictes » liée à mysqli_next_result(). Cette erreur indique qu'il n'y a pas de prochain ensemble de résultats à traiter.
Réponse initiale :
Une réponse a tenté de corriger le problème en modifiant la $querystring mais n'a pas résolu la cause première de l’erreur des normes strictes. Une autre réponse a conseillé de changer la structure de la boucle de "DO WHILE" à "WHILE", ce qui n'est pas nécessaire.
Solution réelle :
Pour résoudre l'erreur, modifiez le code comme suit :
do { if ($result = mysqli_store_result($db)) { // Process result set } } while (mysqli_more_results($db) && mysqli_next_result($db));
Cela garantit que la condition de la boucle sera remplie uniquement lorsqu'il y aura plus d'ensembles de résultats à traiter, empêchant ainsi le erreur.
Considérations supplémentaires :
Amélioré Extrait :
if (mysqli_multi_query($db, $querystring)) { do { if ($result = mysqli_store_result($db)) { // Process result set mysqli_free_result($result); } else if (mysqli_error($db)) { echo "Error: " . mysqli_error($db); break; } } while (mysqli_more_results($db) && mysqli_next_result($db)); }
Conclusion :
L'erreur « Normes strictes : mysqli_next_result() : Il n'y a pas de jeu de résultats suivant » est résolue en utilisant mysqli_more_results () pour vérifier la présence d’ensembles de résultats supplémentaires. L'extrait amélioré gère les résultats positifs et négatifs des opérations mysqli_multi_query et mysqli_store_result.
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!