"Befehle, die nicht synchron sind; Sie können diesen Befehl jetzt nicht ausführen "- verursacht durch mysqli :: multi_query

9

Ich führe mehrere Löschungen durch mysqli :: multi_query durch und es bringt die nächste Abfrage in Zeile durcheinander. Der folgende Fehler wird ausgelöst.

%Vor%

Muss ich die Multiquery irgendwie löschen, damit sie nicht mit meiner nächsten Anfrage verwechselt wird? Was ist die Ursache für diesen Fehler?

Und so führe ich meine Multiquery

%Vor%

Ich verwende eine aktuelle Version von Xampp unter Windows 7

    
andrew 26.01.2011, 03:22
quelle

3 Antworten

10

Wenn Sie mysqli :: multi_query verwenden, feuern Sie Abfragen ab, aber Sie brauchen um die Ergebnisse dieser Abfragen zu verarbeiten, bevor Sie fortfahren. Die Dokumentationsseite beschreibt die verschiedenen Möglichkeiten, mit den Ergebnissen umzugehen. Sobald Sie fertig sind, können Sie andere Abfragen durchführen.

Die Fehlermeldung, die Ihnen begegnet, wird auf der Seite für mysqli :: query (Beachten Sie jedoch, dass mysqli :: query in dieser Instanz kein Ergebnisobjekt zurückgibt, da Sie eine Löschung durchführen).

Sie könnten natürlich multi_query in mehrere einzelne Abfragen ändern, ich weiß nicht, was die Vor- / Nachteile der einzelnen Ansätze sind.

    
ZoFreX 02.02.2011 13:46
quelle
10

Dies hat mir geholfen, den Fehler 'Befehle nicht synchronisiert' zu entfernen:

%Vor%

Fügen Sie diesen Code direkt nach dem Aufruf von multi_query hinzu, er verwendet die Ergebnismengen und löst den Fehler auf.

    
Seva Bityukov 13.02.2014 12:36
quelle
-1

Sevas Code wird höchstwahrscheinlich Ihr Problem beheben, wenn Sie einen prozeduralen Stil wie mich verwenden, verwenden Sie

%Vor%     
VeeK 12.08.2017 07:16
quelle

Tags und Links