Wie kann ich einen Fehler erhalten, wenn mehrere Abfragen mit PDO ausgeführt werden?

8

Ich führe mehrere Abfragen mit PDO aus. Wenn die zweite Abfrage fehlschlägt, wird jetzt Exception ausgelöst.

%Vor%

Der obige Code wird ausgeführt, ohne eine Ausnahme auszulösen.

Wie kann ich sicherstellen, dass alle Abfragen erfolgreich ausgeführt wurden? Wie kann ich überprüfen, welche Abfragen fehlgeschlagen sind?

P.S. Ich verwende PDO-Multi-Abfrage, um MySQL-Dumps auszuführen, aber jede gültige .sql-Datei sollte funktionieren.

    
Jasny - Arnold Daniels 23.04.2014, 14:35
quelle

3 Antworten

6

Ich fand die Antwort mit einer vorbereiteten Aussage. Nach dem Durchlaufen aller Rowsets kann ich überprüfen, ob die letzte Abfrage einen Fehler mit $stmt->errorInfo() verursacht hat.

%Vor%     
Jasny - Arnold Daniels 24.04.2014, 02:24
quelle
1

Der folgende Code zeigt, wie Fehler beim Ausführen mehrerer Abfragen abgefangen werden. Vermeiden Sie die Verwendung von "DELIMITER //". Abfragen werden im Allgemeinen getrennt durch ";".

%Vor%     
user3594495 01.05.2014 22:59
quelle
0

Es gibt keine klare und einfache Möglichkeit, das zu tun.

Ich denke, der beste Weg besteht darin, die Dump-Datei query-by-query zu lesen und eine Abfrage gleichzeitig auszuführen.

Sie können auch Fehlermeldungen analysieren und die Problemzeilennummer extrahieren, wenn der DB-Treiber dies meldet (wie 'unbekannter Bezeichner' blabla ' in Zeile 666 ).

    
SlyChan 23.04.2014 15:25
quelle

Tags und Links