6
我想知道我該如何處理由PDO類中可用的DataBase驅動程序返回的錯誤聲明。當數據庫返回一個錯誤聲明時處理PDOException
舉例來說,讓我們以UNIQUE字段作爲研究案例。如您所知,至少在PDO的調試模式處於活動狀態時,當嘗試添加數據庫的UNIQUE字段中重複的內容時,我們會收到PDOException。
我想知道處理這個問題的正確方法是什麼。我搜索一下吧,我已經得到了這一點:
try {
// PDO::prepare(), PDOStatement::execute e etc.
} catch(PDOException $e) {
if($e -> getCode() == 23000) {
// Do something
}
}
但我不知道這是否是正確的,並思想爲程序員,這真的是一個很好的做法?我的意思是,依靠錯誤代碼?
更糟的是:PDO接受多個驅動程序,它們都共享相同的錯誤代碼?
當然這不是唯一的情況。還有其他幾個錯誤代碼,對吧?這種「技術」可以用於所有情況?
我認爲這是更安全的查詢現有的結果,然後檢查它是否存在與否。 – 2011-05-19 11:21:31