欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php實現(xiàn)的PDO異常處理操作分析

 更新時間:2018年12月27日 11:39:45   作者:菜鳥學編程$  
這篇文章主要介紹了php實現(xiàn)的PDO異常處理操作,結(jié)合實例形式分析了pdo異常處理的相關(guān)原理、用法及操作注意事項,需要的朋友可以參考下

本文實例講述了php實現(xiàn)的PDO異常處理操作。分享給大家供大家參考,具體如下:

異常處理:

PHP:默認為直接報錯

MYSQL:默認為靜默模式,錯就錯,不報錯

PDO:默認為靜默模式,錯就錯,不報錯

以前,當PHP碰到錯誤的時候,會直接報錯,錯誤處理會變得相當麻煩。后來,當錯誤發(fā)生之后,會將錯誤信息不再直接輸出,放到一個類的對象里(PDOException)

要使用PDO異常處理,必須滿足兩個條件

1、需要將錯誤處理模式變成異常模式

$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

2、所有可能出錯的語句都必須放到錯誤捕捉語句塊里

try{
   //錯誤捕捉語句塊
   //凡是有可能出現(xiàn)錯誤的語句都放在這
   //一旦出錯會立即進入catch語句,把所有的錯誤信息放到PDOexception $e里面
}catch(PDOExecption $e){
   //將錯誤信息進行處理
}

例如:

try{
  //連接認證
  $pdo = new PDO('mysql:host=localhost;dbname=project','root','root');
  //設(shè)置錯誤處理模式
  $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
  //組織SQL
  $sql= "update pro_student set s_age = 123 where s_id = 20";
  $res = $pdo->exec($sql);
}catch(PDOException $e){
  //var_dump($e);
  //告訴用戶在哪個文件的哪一行出現(xiàn)了什么樣的錯誤
  echo '出現(xiàn)異常:<br/>';
  echo '錯誤出現(xiàn)的位置:' . $e->getFile() . $e->getLine() . '<br/>';
  echo '錯誤原因:' . $e->getMessage();
  var_dump($e->getTrace());//獲取完整的錯誤數(shù)據(jù)
  exit;
}

有的時候,如果數(shù)據(jù)執(zhí)行沒有任何錯誤,但是就是不符合指定的業(yè)務(wù)邏輯。一旦出現(xiàn)業(yè)務(wù)邏輯錯誤,異常是沒有辦法捕捉(異常只捕捉語法錯誤),一般認為的去通過判斷語句的執(zhí)行(結(jié)果),主動拋出異常,從而結(jié)束錯誤程序的運行。

語法:throw new PDOException;

$sql = "select * from pro_student where s_id = 20";
$stmt = $pdo->query($sql);
if($stmt->fetchColumn(4) > 100) throw new PDOException; //拋出異常,立馬跳轉(zhuǎn)到catch語句塊
else{
  echo '沒有問題';
}

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP基于pdo操作數(shù)據(jù)庫技巧總結(jié)》、《php+Oracle數(shù)據(jù)庫程序設(shè)計技巧總結(jié)》、《PHP+MongoDB數(shù)據(jù)庫操作技巧大全》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家PHP程序設(shè)計有所幫助。

相關(guān)文章

  • php實現(xiàn)過濾字符串中的中文和數(shù)字實例

    php實現(xiàn)過濾字符串中的中文和數(shù)字實例

    這篇文章主要介紹了php實現(xiàn)過濾字符串中的中文和數(shù)字的方法,實例分析了php操作中文和數(shù)字匹配的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • php站內(nèi)搜索并高亮顯示關(guān)鍵字的實現(xiàn)代碼

    php站內(nèi)搜索并高亮顯示關(guān)鍵字的實現(xiàn)代碼

    將sql語句中包含的%$info%交給DBMS執(zhí)行的時候,他會查找字段中含有變量$info的值的信息
    2011-12-12
  • Nginx+ThinkPHP+Vue解決跨域問題的方法詳解

    Nginx+ThinkPHP+Vue解決跨域問題的方法詳解

    這篇文章主要為大家詳細介紹了Nginx+ThinkPHP+Vue解決跨域問題的方法,文中的示例代碼講解詳細,具有一定的借鑒價值,有需要的小伙伴可以參考下
    2024-04-04
  • PHP下載采集圖片到本地的方法詳解【可忽略ssl認證】

    PHP下載采集圖片到本地的方法詳解【可忽略ssl認證】

    這篇文章主要介紹了PHP下載采集圖片到本地的方法,結(jié)合實例形式詳細分析了php基于Curl遠程獲取遠程圖片資源到本地的相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2023-07-07
  • php及codeigniter使用session-cookie的方法(詳解)

    php及codeigniter使用session-cookie的方法(詳解)

    下面小編就為大家?guī)硪黄猵hp及codeigniter使用session-cookie的方法(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • 如何理解PHP核心特性命名空間

    如何理解PHP核心特性命名空間

    在命名空間提出之前,不同的組件很容易碰到命名的沖突,例如Request、Response等常見的命名。本文將帶你理解PHP的核心特性命名空間。
    2021-05-05
  • PHP Reflection API詳解

    PHP Reflection API詳解

    這篇文章主要介紹了PHP Reflection API詳解,本文講解了Reflection類、ReflectionException類、ReflectionFunction類、ReflectionParameter類、ReflectionClass類、ReflectionMethod類等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • PHP分頁效率終結(jié)版(推薦)

    PHP分頁效率終結(jié)版(推薦)

    本篇文章是對PHP分頁的實現(xiàn)進行了詳細的分析介紹,需要的朋友參考下
    2013-07-07
  • PHP中使用循環(huán)實現(xiàn)的金字塔圖形

    PHP中使用循環(huán)實現(xiàn)的金字塔圖形

    這篇文章主要介紹了PHP中使用循環(huán)實現(xiàn)的金字塔圖形,本文是一篇PHP的課堂筆記,完成老師的作業(yè)總結(jié)而來,需要的朋友可以參考下
    2014-11-11
  • php常用正則函數(shù)實例小結(jié)

    php常用正則函數(shù)實例小結(jié)

    這篇文章主要介紹了php常用正則函數(shù),結(jié)合實例形式總結(jié)分析了php正則表達式常用函數(shù),包括preg_replace、preg_match及preg_match_all函數(shù)的功能、使用方法與相關(guān)注意事項,需要的朋友可以參考下
    2016-12-12

最新評論