Heim >Backend-Entwicklung >PHP-Tutorial >Warum erhalte ich bei mysqli_multi_query den Fehler „mysqli_next_result(): There is no next result set'?

Warum erhalte ich bei mysqli_multi_query den Fehler „mysqli_next_result(): There is no next result set'?

Linda Hamilton
Linda HamiltonOriginal
2024-12-29 03:35:16939Durchsuche

Why Am I Getting a

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

  • Es ist nicht notwendig, von DO WHILE zu WHILE zu wechseln, wie von einigen vorgeschlagen.
  • Wenn Durch die Abfragen werden keine Ergebnismengen generiert, es werden keine Schleifen ausgeführt.
  • Zusätzlich kann der Code geändert werden, um die Anzahl der Betroffenen zu zählen Zeilen bearbeiten oder Fehlermeldungen anzeigen.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn