2

为什么这不起作用?

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

当 $db->e​​xecute 失败时,我收到一个错误,即 $result 是一个非对象。

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

4

1 回答 1

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)
于 2013-06-21T21:29:24.853 回答