Heim >Backend-Entwicklung >PHP-Tutorial >Wie behebe ich den Fehler „Strikte Standards: mysqli_next_result() mit mysqli_multi_query'?
Problem:
Bei der Verwendung von mysqli_multi_query können Benutzer möglicherweise stoßen Sie auf einen „Strenge Standards“-Fehler im Zusammenhang mit mysqli_next_result(). Dieser Fehler weist darauf hin, dass kein nächster Ergebnissatz zum Verarbeiten vorhanden ist.
Erste Antwort:
In einer Antwort wurde versucht, das Problem durch Ändern des $querystring zu beheben, wurde jedoch nicht behoben die Hauptursache des Strict Standards-Fehlers. In einer anderen Antwort wurde empfohlen, die Schleifenstruktur von „DO WHILE“ in „WHILE“ zu ändern, was unnötig ist.
Tatsächliche Lösung:
Um den Fehler zu beheben, ändern Sie den Code wie folgt:
do { if ($result = mysqli_store_result($db)) { // Process result set } } while (mysqli_more_results($db) && mysqli_next_result($db));
Dadurch wird sichergestellt, dass die Bedingung der Schleife nur dann erfüllt wird, wenn mehr Ergebnismengen verarbeitet werden müssen, wodurch das verhindert wird Fehler.
Zusätzliche Überlegungen:
Verbessert Snippet:
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)); }
Fazit:
Der Fehler „Strict Standards: mysqli_next_result(): There is no next result set“ wird durch die Verwendung von mysqli_more_results behoben (), um zu prüfen, ob zusätzliche Ergebnismengen vorhanden sind. Das erweiterte Snippet verarbeitet sowohl positive als auch negative Ergebnisse der Vorgänge mysqli_multi_query und mysqli_store_result.
Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Strikte Standards: mysqli_next_result() mit mysqli_multi_query'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!