2013-06-21 69 views
2

爲什麼這不起作用?設置結果並檢查一行中是否有行數

if($result = $db->execute($params) && $result->rowCount() > 0) 

我得到一個錯誤時,$ DB->執行失敗時$結果是一個非對象。

當然是。 $ result等於FALSE,所以它應該跳過rowCount檢查不應該嗎?

回答

5
if($result = $db->execute($params) && $result->rowCount() > 0) 

相同

if($result = ($db->execute($params) && $result->rowCount() > 0)) 

你應該做

if(($result = $db->execute($params)) && ($result->rowCount() > 0)) 

,或者甚至更好:

$result = $db->execute($params); 
if($result && $result->rowCount() > 0) 
+0

太感謝你了。我很困惑 –