ホームページ  >  記事  >  バックエンド開発  >  PHP PDOエラー処理を設定する方法

PHP PDOエラー処理を設定する方法

藏色散人
藏色散人オリジナル
2022-10-19 09:59:181500ブラウズ

php PDO エラーハンドリングの設定方法: 1. "PDO::ERRMODE_SILENT" を設定し、"$pdo->errorInfo()" の形式でエラー情報を取得します; 2. "PDO: :ERRMODE_WARNING" 、"E_WARNING" エラーを確認します。 3. "PDO::ERRMODE_EXCEPTION" を設定し、"try{}cath(){}" でエラー メッセージを出力します。

PHP PDOエラー処理を設定する方法

このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、Dell G3 コンピューター。

php PDO 例外処理の詳細

例外処理:

PHP: デフォルトでは、エラーを直接報告します

MYSQL: デフォルトはサイレントモードです。エラーが発生した場合はエラーになります。エラーは報告されません。

PDO: デフォルトはサイレントモードです。エラーが発生した場合はエラーが報告されます。 . エラーは報告されません。

以前は、PHP はエラーが発生すると、直接エラーを報告していました。その後、エラーが発生した場合、エラー メッセージは直接出力されなくなり、クラス オブジェクト (PDOException) に配置されます。

pdo 例外処理設定:

Set PDO::ATTR_ERRMODE,

PDO::ERRMODE_SILENT: デフォルト モードではエラーが積極的に報告されないため、$pdo->errorInfo() の形式でエラー情報を積極的に取得する必要があります。

PDO::ERRMODE_WARNING: E_WARNING エラーを発生させ、積極的にエラーを報告します。

PDO::ERRMODE_EXCEPTION: 積極的に例外をスローします。try{}cath(){} でエラー情報を出力する必要があります。 。

例:

方法 1:

<?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());
}

方法 2:

<?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);

方法 3:

<?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();
}

推奨学習: 「PHP ビデオ チュートリアル

以上がPHP PDOエラー処理を設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。