国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

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

2024-05-05 00:06:03
字體:
供稿:網(wǎng)友

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

異常處理:

PHP:默認(rèn)為直接報(bào)錯(cuò)

MYSQL:默認(rèn)為靜默模式,錯(cuò)就錯(cuò),不報(bào)錯(cuò)

PDO:默認(rèn)為靜默模式,錯(cuò)就錯(cuò),不報(bào)錯(cuò)

以前,當(dāng)PHP碰到錯(cuò)誤的時(shí)候,會(huì)直接報(bào)錯(cuò),錯(cuò)誤處理會(huì)變得相當(dāng)麻煩。后來,當(dāng)錯(cuò)誤發(fā)生之后,會(huì)將錯(cuò)誤信息不再直接輸出,放到一個(gè)類的對象里(PDOException)

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

1、需要將錯(cuò)誤處理模式變成異常模式

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

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

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

例如:

try{  //連接認(rèn)證  $pdo = new PDO('mysql:host=localhost;dbname=project','root','root');  //設(shè)置錯(cuò)誤處理模式  $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);  //告訴用戶在哪個(gè)文件的哪一行出現(xiàn)了什么樣的錯(cuò)誤  echo '出現(xiàn)異常:<br/>';  echo '錯(cuò)誤出現(xiàn)的位置:' . $e->getFile() . $e->getLine() . '<br/>';  echo '錯(cuò)誤原因:' . $e->getMessage();  var_dump($e->getTrace());//獲取完整的錯(cuò)誤數(shù)據(jù)  exit;}

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

語法: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 '沒有問題';}

 

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


注:相關(guān)教程知識(shí)閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 五台县| 关岭| 洞头县| 宜兰县| 海伦市| 五常市| 怀柔区| 深水埗区| 芜湖县| 库车县| 永仁县| 溧阳市| 石阡县| 陵川县| 固始县| 东乡族自治县| 恭城| 平和县| 育儿| 杭锦后旗| 叶城县| 镇江市| 棋牌| 当雄县| 祁连县| 东宁县| 广安市| 东港市| 班戈县| 读书| 阿克苏市| 周口市| 临邑县| 张家口市| 上饶县| 高青县| 临猗县| 仁怀市| 法库县| 怀远县| 大渡口区|