设置结果并在一个if中检查rowcount

时间:2013-06-21 21:27:21

标签: php mysql sql pdo

为什么这不起作用?

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

当$ db->执行失败,$ result是非对象时,我收到错误。

当然是。 $ result等于FALSE所以它应该跳过rowCount检查不应该吗?

1 个答案:

答案 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)