我经常使用PDO的rowCount函数,例如:
$sql = $dataBase->prepare('SELECT email, firstname, lastname
FROM pr__user
WHERE id = :id');
$sql->execute(array('id' => $_SESSION['user_id']));
$rowCount = $sql->rowCount();
它一直运行良好,但我在PHP手册中看到:
如果关联的PDOStatement执行的最后一个SQL语句是
在SELECT语句中,某些数据库可能返回行数
由该语句返回。然而,这种行为并不能保证
对于所有数据库,不应依赖于可移植的
应用。
http://php.net/manual/en/pdostatement.rowcount.php
它在MySQL和MariaDB上运行良好,所以我继续使用它。当我使用一个我希望可移植的应用程序时,我应该修改我的代码吗?
最佳答案
我从不要求排数。查询总是返回一个结果行数组(以某种格式),我可以简单地询问数组中有多少行——比如使用PHP的count(..)
函数。
关于php - 经常使用的PDO行数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41926623/