PHP PDOで例外を処理する方法

PHPz
リリース: 2018-12-07 11:33:55
転載
1415 人が閲覧しました

PDO は例外をどのように処理しますか?この記事の内容は、PDO でエラーを処理する 3 つの方法を紹介するもので、困っている方は参考にしていただければ幸いです。

PDO はエラーを処理する 3 つの方法を提供します

PDO::ERRMODE_SILENT: サイレント モード (デフォルト)

PDO::ERRMODE_WARNING: 警告モード

PDO::ERRMODE_EXC TION:例外モード

例:

<?php 

/**
* 利用PDO对象实现异常处理操作
*/

echo "<meta charset=utf-8>";

//PDO类的实例化

// 1 设置数据源相关参数
$dbms = &#39;mysql&#39;;    //选择数据库类型
$host = &#39;localhost&#39;;
$port = &#39;3306&#39;;
$dbname = &#39;test&#39;;
$charset = &#39;utf8&#39;;
$dsn = "$dbms:host=$host;port=$port;dbname=$dbname;charset=$charset";

// 2 设置用户名密码
$user = &#39;root&#39;;
$pwd = &#39;&#39;;

// 3 实例化PDO类
$pdo = new PDO($dsn,$user,$pwd);

// 4 设置PDO相关属性
$pdo->setAttribute(PDO::ATTR_CASE,PDO::CASE_UPPER);

// 5 修改PDO为异常模式
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

try{      //监听
    $sql = "select * from pdo";
    $stmt = $pdo->query($sql);
}catch(PDOException $e){
    //捕获异常
    echo "错误信息为:".$e->getmessage()."<br/>";
    echo "错误代码为:".$e->getCode()."<br/>";
    echo "错误文件为:".$e->getFile()."<br/>";
    echo "错误行号为:".$e->getLine()."<br/>";
}
ログイン後にコピー

: 手順 5 で PDO を例外モードに変更したため、PDO での例外処理には例外クラスをインスタンス化して例外をスローする必要はありません:

$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
ログイン後にコピー

実行結果 : 通常表示異常なし!

例外がスローされるかどうか、またスローされた例外が意図したものであるかどうかを確認するには、リスニング コード ブロックを意図的に間違って記述します。

//监听
    $sql = "select * from pdo111";  //把 pdo 错改成 pdo111
ログイン後にコピー

結果:

は、例外処理が成功したことを示す例外メッセージをスローします。

概要: 上記がこの記事の全内容です。その他の関連ビデオの推奨事項: php チュートリアル!

関連ラベル:
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!