Fehlermeldungen aus PDO extrahieren
Beim Versuch, eine Fehlermeldung aus einer PDO-Ausnahme zu erhalten, kann es frustrierend sein, auf leere Ergebnisse zu stoßen. Diese Frage befasst sich mit dem zugrunde liegenden Problem und bietet eine Lösung für dieses Problem.
Obwohl der Fehlermodus auf „Warnung“ gesetzt ist, geben die PDO-Anweisung und ihre Fehlerinformationen leere Arrays zurück. Das Problem ergibt sich aus der Tatsache, dass setAttribute das Verhalten von PDO während der Abfrageausführung und nicht während der Anweisungsvorbereitung beeinflusst.
Bei emulierten vorbereiteten Anweisungen interagiert die Prepare()-Funktion nicht mit dem Datenbankserver, was zu Nr Fehlerprüfung. Wenn Sie jedoch native vorbereitete Anweisungen verwenden, wie sie von MySQL seit Version 4.1 unterstützt werden, sollte das Setzen des Fehlermodus auf Ausnahme bei der Abfrageausführung eine Ausnahme auslösen.
Um dies zu erreichen, verwenden Sie den folgenden Code:
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Durch den Wechsel zu nativen vorbereiteten Anweisungen und die korrekte Einstellung des Fehlermodus sollten Sie nun in der Lage sein, informative Fehlermeldungen von Ihren PDO-Ausnahmen zu erhalten.
Das obige ist der detaillierte Inhalt vonWarum sind meine PDO-Fehlermeldungen leer?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!