Heim >Backend-Entwicklung >PHP-Problem >So richten Sie die PHP-PDO-Fehlerbehandlung ein
php-PDO-Fehlerbehandlungs-Einstellungsmethode: 1. Legen Sie „PDO::ERRMODE_SILENT“ fest und rufen Sie dann die Fehlerinformationen in der Form „$pdo->errorInfo()“ ab. 2. Legen Sie „PDO::ERRMODE_WARNING“ fest check „E_WARNING“ „Fehler; 3. Setzen Sie „PDO::ERRMODE_EXCEPTION“ und geben Sie dann die Fehlermeldung mit „try{}cath(){}“ aus.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, Dell G3-Computer.
php Detaillierte Erläuterung der PDO-Ausnahmebehandlung
Ausnahmebehandlung:
PHP: Standardmäßig werden Fehler direkt gemeldet
MYSQL: Standardmäßig ist der stille Modus, wenn ein Fehler auftritt, wird kein Fehler gemeldet
PDO : Die Standardeinstellung ist der stille Modus. Wenn ein Fehler auftritt, wird ein Fehler gemeldet, es wird kein Fehler gemeldet
Wenn PHP in der Vergangenheit auf einen Fehler stieß, meldete es einen Fehler direkt und die Fehlerbehandlung war ziemlich mühsam. Wenn später ein Fehler auftritt, werden die Fehlerinformationen nicht mehr direkt ausgegeben und in einem Klassenobjekt (PDOException) abgelegt.
pdo-Ausnahmebehandlungseinstellungen:
Setzen Sie PDO::ATTR_ERRMODE, das die folgenden drei Werte hat:
PDO ::ERRMODE_SILENT: Der Standardmodus meldet Fehler nicht aktiv. Sie müssen Fehlerinformationen aktiv in Form von $pdo->errorInfo() abrufen.
PDO::ERRMODE_WARNING: Einen E_WARNING-Fehler auslösen und Fehler proaktiv melden.
PDO::ERRMODE_EXCEPTION: Sie müssen try{}cath(){} verwenden, um Fehlerinformationen auszugeben.
Beispiel:
Methode eins:
<?php //默认是不提示的 需要用 errorCode() errorInfo(); try{ $pdo = new PDO("mysql:host=localhost;dbname=jikexueyuan","root",""); //下面这句是默认设置,有无均可 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_SILENT); }catch(PDOException $e){ die("数据库连接失败".$e->getMessage()); } $sql = "insert into stuu values(null,'jike','w',55)"; $res = $pdo->exec($sql); if($res){ echo "OK"; }else{ echo $pdo->errorCode(); print_r($pdo->errorInfo()); }
Methode zwei:
<?php try{ $pdo = new PDO("mysql:host=localhost;dbname=jikexueyuan","root",""); //主动以警告的形式报错 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING); }catch(PDOException $e){ die("数据库连接失败".$e->getMessage()); } $sql = "insert into stuu values(null,'jike','w',55)"; //若有错误直接在浏览器页面中显示错误信息 $res = $pdo->exec($sql);
Methode drei:
<?php try{ $pdo = new PDO("mysql:host=localhost;dbname=jikexueyuan","root",""); //主动抛出异常 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION ); }catch(PDOException $e){ die("数据库连接失败".$e->getMessage()); } $sql = "insert into stuu values(null,'jike','w',55)"; //用try{}catch(){}抓取异常 try{ $res = $pdo->exec($sql); }catch(PDOException $e){ echo $e->getMessage(); }
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonSo richten Sie die PHP-PDO-Fehlerbehandlung ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!