91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在php中使用PDO對異常進行處理

發布時間:2021-02-08 19:30:29 來源:億速云 閱讀:173 作者:Leah 欄目:開發技術

這篇文章給大家介紹怎么在php中使用PDO對異常進行處理,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

具體如下:

異常處理:

PHP:默認為直接報錯

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

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

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

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

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

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

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

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

例如:

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

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

語法:throw new PDOException;

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

關于怎么在php中使用PDO對異常進行處理就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

九江县| 益阳市| 昔阳县| 赤壁市| 淄博市| 辽宁省| 沐川县| 阿荣旗| 萨嘎县| 濉溪县| 合阳县| 牙克石市| 深圳市| 乌苏市| 龙海市| 卓尼县| 阜宁县| 贵港市| 梓潼县| 安康市| 碌曲县| 华宁县| 崇阳县| 成安县| 原阳县| 祁门县| 台中市| 广东省| 三河市| 黔南| 渝北区| 资讯| 探索| 茶陵县| 太原市| 济源市| 同仁县| 平阳县| 道真| 金山区| 万安县|