Heim >Datenbank >MySQL-Tutorial >Wie kann ich Fehler bei der Abfragevorbereitung mithilfe von PDO Prepare() in PHP abrufen und behandeln?

Wie kann ich Fehler bei der Abfragevorbereitung mithilfe von PDO Prepare() in PHP abrufen und behandeln?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-23 09:22:18935Durchsuche

How Can I Retrieve and Handle Query Preparation Errors Using PDO prepare() in PHP?

Abfragefehler von „prepare()“ in PDO PHP abrufen

Bei der Arbeit mit PDO PHP kann es vorkommen, dass Sie mit Fehlern umgehen müssen die während der Abfragevorbereitung auftreten. Das folgende Code-Snippet versucht, eine Abfrage mit der Methode Prepare() vorzubereiten. Wenn dies jedoch fehlschlägt, benötigen Sie möglicherweise zusätzliche Informationen zum Fehler:

$st = $db->prepare("SELECT * FROM c6ode");

Um den beabsichtigten MySQL-Fehler für die Abfrage abzurufen, müssen Sie Folgendes tun: Befolgen Sie bestimmte Schritte:

  1. Legen Sie den Fehlermodus fest:
    Konfigurieren Sie das PDO Fehlerberichtsmodus an PDO::ERRMODE_EXCEPTION mithilfe der setAttribute()-Methode. Dieser Schritt ermöglicht es dem PDO-Objekt, Ausnahmen auszulösen, wenn Fehler auftreten.
  2. Emulierte Vorbereitung deaktivieren (optional):
    Standardmäßig emuliert PDO die Vorbereitung vorbereiteter Anweisungen. Um sicherzustellen, dass der MySQL-Server die Anweisung tatsächlich zur Validierung erhält, deaktivieren Sie diese Funktion, indem Sie PDO::ATTR_EMULATE_PREPARES auf false setzen.

Hier ist ein Beispielcodeausschnitt, der diese Schritte demonstriert:

<?php
$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 (?)');
?>

Der obige Code führt dazu, dass eine Ausnahme wie folgt ausgelöst wird Nachricht:

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

Indem Sie diese Schritte befolgen, können Sie Fehler, die während der Abfragevorbereitung mit der Prepare()-Methode in PDO PHP auftreten, effektiv abrufen und behandeln.

Das obige ist der detaillierte Inhalt vonWie kann ich Fehler bei der Abfragevorbereitung mithilfe von PDO Prepare() in PHP abrufen und behandeln?. 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