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 = 'mysql'; //选择数据库类型 $host = 'localhost'; $port = '3306'; $dbname = 'test'; $charset = 'utf8'; $dsn = "$dbms:host=$host;port=$port;dbname=$dbname;charset=$charset"; // 2 设置用户名密码 $user = 'root'; $pwd = ''; // 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
結果:
拋出異常訊息,說明異常處理成功!
總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助,更多相關影片推薦: