无法检索PDOStatement受影响的行数

时间:2014-03-20 20:45:05

标签: php mysql pdo

使用PDO连接MySQL。 我无法检索“INSERT INTO”查询的受影响行数

$sql = 'insert into ... ';
$q = $dbh->prepare($sql);
$q = $q->execute();
echo ( $q->rowCount() );
echo ( $q->affectedRows() );
  

致命错误:在非对象上调用成员函数rowCount()   致命错误:在非对象上调用成员函数affectedRows()。

记录已成功插入但我无法检查它,因为它不会返回任何内容。 有什么问题?

1 个答案:

答案 0 :(得分:3)

致电PDOStatement::execute()时,不应覆盖$q变量;它返回一个布尔值。只需在调用execute方法时删除作业:

$q->execute();

PDOStatement中也没有名为affectedRows的方法。 PDOStatement::rowCount()应该是您需要的全部内容:

  

PDOStatement::rowCount()返回受相应PDOStatement对象执行的最后一个DELETE,INSERT或UPDATE语句影响的行数。

相关问题