2017-05-17 43 views
0

我的網頁沒有錯誤,但我需要將我的mysqli調用更改爲pdo,因爲我需要一個準備好的語句調用,我不知道需要傳遞多少參數,而且好像我可以通過帶有pdo的參數數組。pdo我應該嘗試/捕獲每個查詢?

我讀on this page

警告!如果您的應用程序沒有捕獲到從PDO構造函數拋出的異常,則zend引擎採取的默認操作是終止腳本並顯示回溯。這條反向跟蹤可能會顯示完整的數據庫連接詳細信息,包括用戶名和密碼。您有責任明確地(通過catch語句)或通過set_exception_handler()隱式捕獲此異常。

我以前從未使用過pdo,有些教程沒有指出我可以在不知道的情況下放棄用戶名/密碼的事實。

我應該把每一個查詢或只是new PDO();try/catch?這是不錯的做法嗎?我應該使用set_exception_handler()而不是try/catch

+0

https://phpdelusions.net/pdo#errors –

+0

謝謝,這種聯繫是非常有益的 – core36

+0

不客氣,享受編碼! –

回答

2

TL; DR:沒有

大多數你的查詢將不會產生異常。

當您的項目正在開發中時,未捕獲的異常將讓您在您的SQL代碼中發現錯誤。當項目投入生產時,只有你所看到的例外應該是預期的例外。像「獨特的密鑰違規」,一些外鍵限制。

基本上,在生產代碼中,應該只包含圍繞查詢的try-catch塊,其中異常是預期邏輯的一部分。