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
Freigeben: 2024-12-26 04:54:15
Original
356 Leute haben es durchsucht

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);
Nach dem Login kopieren

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);
Nach dem Login kopieren

Lokale Entwicklung:

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

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!

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