Ursachen des MySQL-Fehlers 2014: Abfragen können nicht ausgeführt werden, während andere ungepufferte Abfragen aktiv sind
Dieser Fehler tritt auf, wenn zuvor versucht wurde, eine neue Abfrage auszuführen Vervollständigen der Verarbeitung von Ergebnissen einer vorherigen ungepufferten Abfrage. Das Client-Protokoll von MySQL lässt nicht zu, dass mehrere Abfragen gleichzeitig „in Bearbeitung“ sind.
Lösung:
-
Verwenden Sie PDO::fetchAll(): Diese Methode ruft implizit alle Ergebnisse der vorherigen Abfrage ab und ermöglicht die Ausführung der nächsten Abfrage.
-
Abfragepufferung aktivieren: Setzen Sie PDO::MYSQL_ATTR_USE_BUFFERED_QUERY auf true, wodurch die Clientbibliothek Ergebnisse intern statt PHP puffert.
-
CloseCursors: Rufen Sie closeCursor() auf, um den Server darüber zu informieren, dass Sie mit dem Abrufen der Ergebnisse fertig sind eine Abfrage.
Zusätzliche Empfehlungen:
- Schleifeninvarianten Code außerhalb von Schleifen verschieben: Vermeiden Sie die wiederholte Ausführung einer Abfrage, die innerhalb von Schleifen das gleiche Ergebnis zurückgibt eine Schleife.
- Verwenden Sie benannte Parameter für vorbereitete Anweisungen, um die Parameterübergabe zu vereinfachen.
- Bedenken Sie Verwendung der MySQL-Client-Bibliothek für verbesserte Funktionen und Effizienz.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich den MySQL-Fehler 2014: „Abfragen können nicht ausgeführt werden, während andere ungepufferte Abfragen aktiv sind'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!