为什么这不起作用?
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)