簡體   English   中英

pdo我應該嘗試/捕獲每個查詢嗎?

[英]pdo should i try/catch every query?

我的頁面上沒有錯誤,但是我需要將mysqli調用更改為pdo,因為我需要一個准備好的語句調用,在這里我不知道需要傳遞多少參數,而且好像可以傳遞數組pdo設置參數。

在此頁面上閱讀:

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

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

我應該把每個查詢還是只是new PDO(); try/catch 這是好習慣嗎? 我應該在try/catch使用set_exception_handler()嗎?

TL; DR:

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

在開發項目時,未捕獲的異常將使您可以發現SQL代碼中的錯誤。 而且,當項目投入生產時,只有您看到的例外才是預期的例外。 像“唯一鍵違例”一樣,有一些外鍵限制。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM