PHP PDO中的等效函数mysqli :: afftected_rows和mysqli_result :: num_rows是什么?

时间:2017-09-27 07:40:22

标签: php pdo

我认为affected_row s返回上一个查询中受影响的行数(例如UPDATE)和num_rows结果集中的行数(例如一个SELECT)。

我应该在PDO中使用什么?

PDOStatement::rowCount返回该语句中受影响的行数,但对于大多数数据库,不会返回受SELECT影响的行数。

2 个答案:

答案 0 :(得分:0)

相当于affected_rows: rowCount() http://php.net/manual/de/pdostatement.rowcount.php

如果您想要选择行数,请执行count()。

另请参考: PHP PDO - Num Rows

答案 1 :(得分:0)

official documentation

中提及
  

如果关联的PDOStatement执行的最后一条SQL语句是   一个SELECT语句,一些数据库可能会返回行数   由该声明返回。但是,不保证这种行为   适用于所有数据库,不应依赖于便携式数据库   应用

可以通过预先SQL_CALC_FOUND_ROWS强制匹配行数,如FOUND_ROWS

的MySQL文档中所述

related answer已经通过Paul Dixon解释了一些细节