Heim >Backend-Entwicklung >PHP-Tutorial >Warum werden bei meinen PDO-Abfragen keine Fehlermeldungen angezeigt?

Warum werden bei meinen PDO-Abfragen keine Fehlermeldungen angezeigt?

Linda Hamilton
Linda HamiltonOriginal
2024-12-26 04:54:15324Durchsuche

Why Aren't My PDO Queries Showing Error Messages?

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!

Stellungnahme:
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