在MySQL文档中,有一个关于在事务提交后使用mysql_affected_rows的说明:http://php.net/manual/en/function.mysql-affected-rows.php
备注:事务
如果使用事务,则需要在插入、更新或删除查询之后调用mysql_affected_rows(),而不是在提交之后调用。
然而,在PDOStatement::rowCount doc:http://www.php.net/manual/en/pdostatement.rowcount.php上没有这样的注释。
这是否意味着在使用PDO对象时,提交不会影响插入、更新或删除查询后受影响的行数?
发布于 2012-04-26 16:08:08
为执行的每个查询返回一个PDOStatement。您可以在代码中的任何时候使用PDOStatement->rowCount() (在事务期间或之后,回滚/提交并不重要)。每个对象都负责维护自己。
mysql_affected_rows之所以有这个事务注释,是因为它只知道一个mysql连接资源。这意味着当您完成事务(提交/回滚)时,已经向DB发送了一个新的查询,从而改变了处理受影响行数的结果。
https://stackoverflow.com/questions/10272134
复制相似问题