2013-10-09 111 views
-1

我需要使用靜音模式PDO沒有任何異常或錯誤,所以我不喜歡這樣寫道:如何設置PDO選項?

$this->db = new PDO($db_config['dsn'], $db_config['username'], $db_config['password'], 
    array(
     PDO::ATTR_ERRMODE => PDO::ERRMODE_SILENT, 
     PDO::ATTR_TIMEOUT => 5, 
     PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8', 
    ) 
); 

但它仍然拋出我無法連接到數據庫異常。

回答

0

如果無法連接到數據庫,PHP無法創建PDO對象。您不能擁有未連接到數據庫的PDO對象。在使用new運算符時,除了有效的對象實例外,不能返回任何內容。因此,PDO構造函數如何在這裏失敗是唯一的例外。

換句話說,你不能在施工時間使發生的異常靜音,該設置僅適用於PDO可能產生的所有後期錯誤。你只需要catch吧。

5

我需要使用靜音模式PDO

不,你不知道。

你是在提出這個問題出一些錯誤的假設。您不必再進一步追蹤它,您必須重新考慮您的場所,將PDO設置爲例外模式,然後修復其他問題。最有可能的 - 錯誤處理程序。