为什么这不起作用?
if($result = $db->execute($params) && $result->rowCount() > 0)
当$ db->执行失败,$ result是非对象时,我收到错误。
当然是。 $ result等于FALSE所以它应该跳过rowCount检查不应该吗?
答案 0 :(得分: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)