Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich PDO Prepare()-Abfragefehler in PHP abrufen?

Wie kann ich PDO Prepare()-Abfragefehler in PHP abrufen?

Barbara Streisand
Freigeben: 2024-12-06 22:40:12
Original
146 Leute haben es durchsucht

How Can I Retrieve PDO Prepare() Query Errors in PHP?

Abfragefehler von „prepare()“ in PDO PHP abrufen

Wenn Sie PDO PHP zum Vorbereiten einer Abfrage verwenden, ist es wichtig, nach möglichen Fehlern zu suchen Fehler. Standardmäßig löst PDO keine Ausnahmen für Fehler aus, die während der Abfragevorbereitung auftreten. Um die Fehlerbehandlung zu aktivieren, können Sie das Attribut PDO::ATTR_ERRMODE nutzen.

Lösung

  • Setzen Sie PDO::ATTR_ERRMODE auf PDO::ERRMODE_EXCEPTION : Durch das Setzen dieses Attributs löst Prepare() eine Ausnahme aus, wenn ein Fehler auftritt tritt auf.
  • PDO::ATTR_EMULATE_PREPARES deaktivieren: Um sicherzustellen, dass der MySQL-Server die Abfrage während Prepare() verarbeitet, deaktivieren Sie dieses Attribut. Die Emulation verhindert manchmal, dass der Server Fehler erkennt, bis die Abfrage ausgeführt wird.

Beispiel:

$pdo = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'localonly', 'localonly');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$pdo->prepare('INSERT INTO DoesNotExist (x) VALUES (?)');
Nach dem Login kopieren

Wenn die bereitgestellte Abfrage eine ungültige Syntax enthält, löst PDO eine Fehlermeldung aus Ausnahme mit folgenden Angaben:

SQLSTATE[42S02]: Base table or view not found: 
1146 Table 'test.doesnotexist' doesn't exist
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich PDO Prepare()-Abfragefehler in PHP abrufen?. 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