php PDO如何進行異常處理

PHPz
發布: 2018-12-07 11:33:55
轉載
1444 人瀏覽過

PDO如何進行異常處理?這篇文章帶給大家的內容是介紹PDO的三種處理錯誤的方式,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

PDO提供了三種處理錯誤的方式

PDO::ERRMODE_SILENT:靜默模式(預設)

fPDO::ERRMODE_SILENT:靜默模式(預設)

::PDOERPDOPfP:P:P8S8:P8]PDOPfPDOP:PDOP:P:PDOP對三年警告模式

:異常模式範例:

<?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/>";
}
登入後複製

注意:在PDO中進行異常處理不需要實例化異常類別並拋出異常,因為我們在第5步已經把PDO修改為異常模式:

$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
登入後複製
運行結果:正常顯示沒有異常!

把監聽程式碼區塊故意寫錯,看看是否拋出異常,拋出的異常是不是我們想要的!

//监听
    $sql = "select * from pdo111";  //把 pdo 错改成 pdo111
登入後複製

結果:

拋出異常訊息,說明異常處理成功! 


總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助,更多相關影片推薦:

php教學

相關標籤:
來源:cnblogs.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板