fetch()的錯誤處理文檔似乎不清楚,並且我在大量搜索後的任何地方都找不到答案。爲取指在doc如圖常見的使用模式是:如何正確處理來自PDO fetch()的錯誤?
while ($row = $stmt->fetch()) {
// do something with $row
}
PHP的文檔在http://www.php.net/manual/en/pdostatement.fetch.php說:
在所有情況下,假的則失敗返回。
什麼是 「失敗」 是什麼意思?一個錯誤?未能獲取更多行?我的問題是:當fetch()返回FALSE時,檢測錯誤的最佳做法是什麼?似乎循環後我需要區分錯誤情況和「不再行」的情況。
要我打電話stmt- $>的errorCode(),看看它是否是 '00000'?
+1您應該關注的唯一錯誤是您在運行查詢時。即你的語法是不正確的,名稱是錯誤拼寫錯誤的查詢等。 – Waygood 2012-07-17 14:57:50
@waygood:這將是'查詢()'調用失敗,而不是在獲取。 – 2012-07-17 14:58:19
是的,這是正確的。這就是爲什麼我同意你的回答 – Waygood 2012-07-17 14:59:04