Heim >Datenbank >MySQL-Tutorial >Wie behebe ich den Fehler „Befehle nicht synchron' in PHP-MySQL-Abfragen?

Wie behebe ich den Fehler „Befehle nicht synchron' in PHP-MySQL-Abfragen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-23 01:01:09614Durchsuche

How to Fix the

Fehlerbehebung bei „Befehlen nicht synchron“-Fehlern in PHP-MySQL-Abfragen

Bei der Arbeit mit PHP und MySQL kann es zu der frustrierenden Fehlermeldung „Befehle sind nicht synchron; Sie können diesen Befehl jetzt nicht ausführen“ kommen. Dies tritt normalerweise auf, wenn mehrere MySQL-Abfragen nacheinander ausgeführt werden, ohne dass deren asynchrone Natur ordnungsgemäß behandelt wird. Das Kernproblem liegt im standardmäßigen ungepufferten Verhalten von mysqli Abfragen.

Es gibt zwei wirksame Lösungen, um dieses Problem anzugehen:

  1. Ergebnisse der ersten Abfrage verarbeiten: Führen Sie Ihre erste Abfrage mit $con->query() aus und speichern Sie die Ergebnisse in einem Array. Nachfolgende Vorgänge sollten dann dieses Array durchlaufen und sicherstellen, dass jede Aktion unabhängig ausgeführt wird.

  2. Abfragepufferung einsetzen: Nutzen Sie die Methode store_result() in Ihrer vorbereiteten Anweisung. Dadurch wird mysqli dazu gezwungen, die Abfrageergebnisse zu puffern, wodurch das Problem „Befehle nicht synchron“ verhindert wird, indem das Abrufen von Zeilen bei Bedarf vermieden wird.

Hier ist ein Beispiel, das die Abfragepufferung veranschaulicht:

<code class="language-php">$countQuery = "SELECT ARTICLE_NO FROM AUCTIONS WHERE upper(ARTICLE_NAME) LIKE % ?%";
if ($numRecords = $con->prepare($countQuery)) {
    $numRecords->bind_param("s", $brand);
    $numRecords->execute();
    $numRecords->store_result(); // Buffer the results
    $data = $con->query($countQuery);
    $rowcount = $data->num_rows;
    // Proceed with your application logic
}</code>

Denken Sie daran, dass die Aktivierung der Abfragepufferung den Speicherverbrauch erhöhen kann, wenn Sie umfangreiche Datensätze verarbeiten. Wählen Sie die Methode, die am besten zu Ihrem Datenvolumen und Ihren Anwendungsanforderungen passt.

Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Befehle nicht synchron' in PHP-MySQL-Abfragen?. 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