Heim > Backend-Entwicklung > PHP-Tutorial > PDO-Abfrage schlägt stillschweigend fehl: Wie erhalte ich PDO-Fehlermeldungen?

PDO-Abfrage schlägt stillschweigend fehl: Wie erhalte ich PDO-Fehlermeldungen?

Patricia Arquette
Freigeben: 2024-12-19 22:11:10
Original
782 Leute haben es durchsucht

PDO Query Fails Silently: How Do I Get PDO Error Messages?

Häufig gestellte Fragen zu PDO: PDO-Abfragefehler und Fehlerbehandlung

PDO (PHP Data Objects) bietet eine standardisierte Schnittstelle für die Interaktion mit verschiedenen Datenbanksystemen. Einige seiner Funktionen können PHP-Entwicklern jedoch unbekannt sein, was zu häufigen Fragen zu vorbereiteten Anweisungen und zur Fehlerbehandlung führt. Dieser Artikel befasst sich mit einer dieser häufig gestellten Fragen:

PDO-Abfrage schlägt fehl, aber ich kann keine Fehler sehen. Wie erhalte ich eine Fehlermeldung von PDO?

Um dieses Problem zu beheben, ist es wichtig, die Ausnahmebehandlung von PDO zu aktivieren. Standardmäßig behandelt PDO Fehler wie normale PHP-Fehler, die möglicherweise nicht sichtbar sind. Um Fehler als Ausnahmen zu behandeln, setzen Sie beim Verbindungsaufbau das PDO-Attribut ERRMODE auf PDO::ERRMODE_EXCEPTION. Dadurch kann PDO Ausnahmen bei Datenbankfehlern auslösen und diese für die Fehlerbehandlung verfügbar machen.

Hier ist ein Beispiel für die Einrichtung einer PDO-Verbindung mit Ausnahmebehandlung:

$dsn = "mysql:host=$host;dbname=$db;charset=utf8";
$opt = array(
    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    // other options
);
$pdo = new PDO($dsn, $user, $pass, $opt);
Nach dem Login kopieren

Mit dieser Einstellung Alle Datenbankfehler werden als Ausnahmen ausgelöst. Diese Ausnahmen können mit try..catch-Blöcken oder einem speziellen Fehlerhandler abgefangen werden. Nicht erfasste Ausnahmen fungieren als reguläre PHP-Fehler und folgen den Site-weiten Fehlerberichtseinstellungen.

Es ist wichtig sicherzustellen, dass PHP-Fehler sichtbar sind. Auf Produktionsservern empfiehlt es sich, Fehler zu protokollieren, anstatt sie auf dem Bildschirm anzuzeigen. Dies kann durch folgende Einstellung erreicht werden:

error_reporting(E_ALL);
ini_set('display_errors', 0);
ini_set('log_errors', 1);
Nach dem Login kopieren

Auf Entwicklungsservern kann es bequemer sein, Fehler auf dem Bildschirm anzuzeigen:

error_reporting(E_ALL);
ini_set('display_errors', 1);
Nach dem Login kopieren

Vermeiden Sie immer die Verwendung des Fehlerunterdrückungsoperators (@ ) vor PDO-Anweisungen, da dadurch wichtige Fehlerinformationen ausgeblendet werden können.

Das obige ist der detaillierte Inhalt vonPDO-Abfrage schlägt stillschweigend fehl: Wie erhalte ich PDO-Fehlermeldungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage