婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PHP的PDO錯誤與錯誤處理

PHP的PDO錯誤與錯誤處理

熱門標簽:地圖標注怎么做商戶驗證 海南外呼系統方案 兼職做地圖標注好賺錢嗎 400 電話 辦理 打開百度地圖標注 山東電銷卡外呼系統原理是什么 亳州企業外呼系統 蘇州外呼系統有效果嗎 智能電銷語音機器人資訊

PHP PDO 錯誤與錯誤處理

  • PDO::ERRMODE_SILENT

此為默認模式。 PDO 將只簡單地設置錯誤碼,可使用PDO::errorCode()PDO::errorInfo()方法來檢查語句和數據庫對象。如果錯誤是由于對語句對象的調用而產生的,那么可以調用那個對象的PDOStatement::errorCode()PDOStatement::errorInfo()方法。如果錯誤是由于調用數據庫對象而產生的,那么可以在數據庫對象上調用上述兩個方法。

  • PDO::ERRMODE_WARNING

除設置錯誤碼之外,PDO還將發出一條傳統的E_WARNING信息。如果只是想看看發生了什么問題且不中斷應用程序的流程,那么此設置在調試/測試期間非常有用。

  • PDO::ERRMODE_EXCEPTION

除設置錯誤碼之外,PDO還將拋出一個PDOException異常類并設置它的屬性來反射錯誤碼和錯誤信息。此設置在調試期間也非常有用,因為它會有效地放大腳本中產生錯誤的點,從而可以非常快速地指出代碼中有問題的潛在區域(記?。喝绻惓е履_本終止,則事務被自動回滾)。

異常模式另一個非常有用的是,相比傳統 PHP風格的警告,可以更清晰地構建自己的錯誤處理,而且比起靜默模式和顯式地檢查每種數據庫調用的返回值,異常模式需要的代碼/嵌套更少。

創建 PDO 實例并設置錯誤模式

?php
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
try {
  $dbh = new PDO($dsn, $user, $password);
  $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
  echo 'Connection failed: ' . $e->getMessage();
}
?>

注意:不管當前是否設置了PDO::ATTR_ERRMODE ,如果連接失敗,PDO::__construct()將總是拋出一個 PDOException 異常。未捕獲異常是致命的。

創建 PDO 實例并在構造函數中設置錯誤模式

?php
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = 'googleguy';
$password = 'googleguy';
/*
  使用 try/catch 圍繞構造函數仍然有效,即使設置了 ERRMODE 為 WARNING,
  因為如果連接失敗,PDO::__construct 將總是拋出一個 PDOException 異常。
*/
try {
  $dbh = new PDO($dsn, $user, $password, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
} catch (PDOException $e) {
  echo 'Connection failed: ' . $e->getMessage();
  exit;
}
// 這里將導致 PDO 拋出一個 E_WARNING 級別的錯誤,而不是 一個異常 (當數據表不存在時)
$dbh->query("SELECT wrongcolumn FROM wrongtable");
?>

以上例程會輸出:

Warning: PDO::query(): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'test.wrongtable' doesn't exist in
/tmp/pdo_test.php on line 18
add a note add a note

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

您可能感興趣的文章:
  • PHP PDOStatement::debugDumpParams講解
  • PHP PDOStatement::bindValue講解
  • PHP PDOStatement::bindParam講解
  • PHP PDOStatement::bindColumn講解
  • PHP的PDO大對象(LOBs)
  • PHP的PDO預處理語句與存儲過程
  • PDO::setAttribute講解
  • PDO::rollBack講解
  • PDO::quote講解
  • PHP PDOStatement::closeCursor講解

標簽:萊蕪 清遠 溫州 紹興 安康 綏化 呼倫貝爾 金華

巨人網絡通訊聲明:本文標題《PHP的PDO錯誤與錯誤處理》,本文關鍵詞  PHP,的,PDO,錯誤,與,處理,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP的PDO錯誤與錯誤處理》相關的同類信息!
  • 本頁收集關于PHP的PDO錯誤與錯誤處理的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 汉源县| 扬州市| 宜川县| 凌源市| 永新县| 饶阳县| 开阳县| 墨玉县| 乐亭县| 陆河县| 江油市| 阳曲县| 肇庆市| 永济市| 南阳市| 四会市| 银川市| 米泉市| 甘肃省| 北辰区| 禄丰县| 红桥区| 江口县| 申扎县| 图木舒克市| 郸城县| 宁乡县| 尤溪县| 花莲市| 岳阳县| 丹寨县| 许昌市| 肥城市| 黄大仙区| 华宁县| 雷州市| 保亭| 商洛市| 西青区| 三台县| 安义县|