Heim > Backend-Entwicklung > PHP-Tutorial > Warum erhalte ich Fehler „Befehle nicht synchron' in meinem PHP-MySQLi-Code und wie kann ich diese beheben?

Warum erhalte ich Fehler „Befehle nicht synchron' in meinem PHP-MySQLi-Code und wie kann ich diese beheben?

Linda Hamilton
Freigeben: 2024-12-20 11:06:09
Original
338 Leute haben es durchsucht

Why Do I Get

Befehle nicht synchron: Eintauchen in die Ursache und Lösung

Beim Versuch, PHP-Code auszuführen, der MySQL-Abfragen über mysqli verwendet, kann es sein, dass man Es kommt die Fehlermeldung „Befehle nicht synchron; Sie können diesen Befehl jetzt nicht ausführen.“ Dieser Fehler weist auf einen Konflikt zwischen der sequentiellen Ausführung von Datenbankabfragen hin.

Der bereitgestellte PHP-Code weist dieses Problem auf, da mysqli ungepufferte Abfragen für vorbereitete Anweisungen verwendet. Dies bedeutet, dass jeweils nur die Ergebnisse der zuletzt ausgeführten Abfrage verfügbar sind.

Um diesen Fehler zu beheben, können zwei Ansätze gewählt werden:

  1. Speicherergebnis verwenden: Durch den Aufruf von $stmt->store_result() nach der Ausführung einer vorbereiteten Anweisung werden die Ergebnisse dieser Abfrage gepuffert. Dadurch können nachfolgende Abfragen ausgeführt werden, ohne dass sich dies auf die Ergebnisse der ersten Abfrage auswirkt.
  2. Ergebnisse in Array abrufen: Alternativ können die Ergebnisse der ersten Abfrage mit $stmt-> in ein Array abgerufen werden ;fetch_all(). Dadurch werden die Daten vorab in den Speicher geladen, wodurch die Verbindung für die Ausführung anderer Abfragen freigegeben wird.

Im bereitgestellten Code kann $stmt->store_result() nach der ersten Abfrage verwendet werden, um deren Ergebnisse zu puffern:

if ($numRecords = $con->prepare($countQuery)) {
    $numRecords->bind_param("s", $brand);
    $numRecords->execute();
    $numRecords->store_result();
    $data = $con->query($countQuery) or die(print_r($con->error));
    $rowcount = $data->num_rows;
    ...
}
Nach dem Login kopieren

Durch die Implementierung einer dieser Lösungen sind die Befehle nicht mehr nicht mehr synchron und der PHP-Code sollte erfolgreich ausgeführt werden.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich Fehler „Befehle nicht synchron' in meinem PHP-MySQLi-Code und wie kann ich diese beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage