Heim >Backend-Entwicklung >PHP-Problem >So richten Sie die PHP-PDO-Fehlerbehandlung ein

So richten Sie die PHP-PDO-Fehlerbehandlung ein

藏色散人
藏色散人Original
2022-10-19 09:59:181593Durchsuche

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.

So richten Sie die PHP-PDO-Fehlerbehandlung ein

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,&#39;jike&#39;,&#39;w&#39;,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,&#39;jike&#39;,&#39;w&#39;,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,&#39;jike&#39;,&#39;w&#39;,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!

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