處理故障的常用方法是:'或'被視爲返回語句的布爾檢查嗎?
$result = mysql_query("SELECT * FROM table1") or myFailureFunction();
的結果是,當查詢失敗,myFailureFunction()
被調用。
有沒有什麼情況下,下面的代碼不完全一樣?
$result = mysql_query("SELECT * FROM table1");
if(!$result)
{
myFailureFunction();
}
注:
- 我曾與連接失敗,SQL語法失敗和空測試結果,似乎他們所有的工作。我想知道是否有任何情況下,它不會工作。
- 我知道有很多更好的方法來處理失敗。
- 有一個問題解決了
or
的布爾性質。我想知道的是,or
是在復活的結果還是別的東西上運行?問題:PHP: 'or' statement on instruction fail: how to throw a new exception?
感謝大家的好的答案。在這種情況下,「短路評估」的使用並沒有真正發生,但總體上是有意義的。下面關於'null'和'false'返回可能性差異的討論正是我所期待的。謝謝 –