Heim >Backend-Entwicklung >PHP-Tutorial >Warum werden bei meinen PDO-Abfragen keine Fehlermeldungen angezeigt?
PDO-Referenz: Beheben häufiger Datenbankverbindungsfehler
Einführung
PDO (PHP-Datenobjekte ) bietet eine robuste Datenbankinteraktion, aufgrund seiner spezifischen Funktionen stoßen Benutzer jedoch häufig auf Fehler. Ziel dieses Artikels ist es, eines der häufigsten Probleme anzugehen: die Unfähigkeit, Fehlermeldungen während PDO-Abfragen abzurufen.
Abfragefehler ohne Fehlermeldung
Bei einer PDO-Abfrage Wenn dies fehlschlägt, sind Fehlermeldungen möglicherweise nicht sofort sichtbar. Um die Fehlersichtbarkeit zu aktivieren, müssen Sie den PDO-Fehlermodus auf PDO::ERRMODE_EXCEPTION festlegen. Ausnahmen stellen Stack-Traces bereit und können mit try..catch-Blöcken behandelt werden.
Beispiel:
$dsn = "mysql:host=$host;dbname=$db;charset=utf8"; $opt = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, ]; $pdo = new PDO($dsn, $user, $pass, $opt);
Anzeige von Fehlern
Zusätzlich müssen Fehlerberichtseinstellungen konfiguriert werden, um Fehler anzuzeigen. Aktivieren Sie für Live-Sites die Fehlerprotokollierung, während für die lokale Entwicklung Fehler auf dem Bildschirm angezeigt werden können:
Live-Site:
error_reporting(E_ALL); ini_set('display_errors', 0); ini_set('log_errors', 1);
Lokale Entwicklung:
error_reporting(E_ALL); ini_set('display_errors', 1);
Fehler vermeiden Unterdrückung
Verwenden Sie niemals den Fehlerunterdrückungsoperator (@) vor PDO-Anweisungen.
Unnötige try..catch-Blöcke vermeiden
Nicht abgefangene Ausnahmen Bereitstellung wertvoller Fehlerinformationen, ohne dass eine benutzerdefinierte Fehlerbehandlung erforderlich ist. Verwenden Sie try..catch nur, wenn Sie Fehler behandeln, z. B. das Zurücksetzen von Transaktionen.
Das obige ist der detaillierte Inhalt vonWarum werden bei meinen PDO-Abfragen keine Fehlermeldungen angezeigt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!