Heim >Datenbank >MySQL-Tutorial >Wie behebe ich den Fehler „Befehle nicht synchron' in PHP-MySQL-Abfragen?
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:
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.
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!