Strenge Standards: mysqli_next_result()-Fehler mit mysqli_multi_query
Viele Entwickler stoßen bei der Verwendung von mysqli_multi_query auf einen Fehler bei strengen Standards. Diese Fehlermeldung lautet „mysqli_next_result(): Es gibt keinen nächsten Ergebnissatz. Bitte rufen Sie mysqli_more_results()/mysqli::more_results() auf, um zu prüfen, ob diese Funktion/Methode aufgerufen werden soll.“
Root Ursache
Der Fehler tritt auf, wenn mysqli_multi_query ohne Prüfung verwendet wird ob es nachfolgende Ergebnismengen gibt. Standardmäßig fährt mysqli_next_result mit der nächsten Ergebnismenge fort, auch wenn keine vorhanden ist. Um den Fehler zu vermeiden, sollte zuvor die Funktion mysqli_more_results aufgerufen werden, um das Vorhandensein zusätzlicher Ergebnismengen festzustellen.
Lösung
Um das Problem zu beheben, verwenden Sie den folgenden Code :
if (mysqli_multi_query($db, $querystring)) { do { if ($result = mysqli_store_result($db)) { // ... } } while (mysqli_more_results($db) && mysqli_next_result($db)); }
Dadurch wird sichergestellt, dass mysqli_next_result nur ausgeführt wird, wenn ein vorhanden ist nachfolgender Ergebnissatz.
Zusätzliche Hinweise
Das obige ist der detaillierte Inhalt vonWarum erhalte ich bei mysqli_multi_query den Fehler „mysqli_next_result(): There is no next result set'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!