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