Heim > Datenbank > MySQL-Tutorial > Warum werfen meine PDO-Ausnahmen Nullwerte aus und werden nicht ausgeführt?

Warum werfen meine PDO-Ausnahmen Nullwerte aus und werden nicht ausgeführt?

Susan Sarandon
Freigeben: 2024-10-28 12:06:01
Original
462 Leute haben es durchsucht

Why Are My PDO Exceptions Throwing Null Values and Not Executing?

So behandeln Sie PDO-Ausnahmen

Problem:

Bei der Verwendung der PHP-PDO-Klasse führen Versuche, Fehler zu behandeln, zu Der Code meldet Nullwerte und bleibt inaktiv.

Code:

<code class="php">$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Exception handling is enabled

$id = 33;
$name = "Mario Bros.";
$url = "http://nintendo.com";
$country = "jp";

try {
    $sql = "UPDATE table_users SET name = :name, url = :url, country = :country WHERE user_id = :user_id";
    $statement = $connection->prepare($sql);
    $statement->bindParam(':user_id', trim($id), PDO::PARAM_INT);
    $statement->bindParam(':name', trim($name), PDO::PARAM_STR);
    $statement->bindParam(':url', trim($url), PDO::PARAM_STR);
    $statement->bindParam(':country', trim($country), PDO::PARAM_STR, 2);
    $status = $statement->execute();
} catch (PDOException $e) {
    echo $e->getMessage();
}</code>
Nach dem Login kopieren

Lösung:

PDO löst nicht aus Ausnahmen automatisch. Um die Ausnahmebehandlung zu aktivieren, muss die folgende Zeile hinzugefügt werden, bevor versucht wird, Abfragen auszuführen:

<code class="php">$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);</code>
Nach dem Login kopieren

Erklärung:

Durch Festlegen des PDO-Fehlermodus auf ERRMODE_EXCEPTION, Alle PDO-bezogenen Fehler werden als Ausnahmen ausgelöst. Der try/catch-Block kann dann verwendet werden, um diese Ausnahmen zu behandeln und aussagekräftige Fehlermeldungen an Benutzer oder Protokollierungssysteme bereitzustellen.

Das obige ist der detaillierte Inhalt vonWarum werfen meine PDO-Ausnahmen Nullwerte aus und werden nicht ausgeführt?. 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