pdo有一个函数pdostatement::rowcount返回上一个sql语句影响的行数。
rowcount函数对于delete, insert, 或者update语句的结果是正确的,但对于select语句则与数据库的实现相关。有些数据库在执行select语句时会将结果集全部读入内存,但对于数量巨大的结果集,这样显然是低效的。大部分的数据库则只会返回结果集的一部分,当需要时再返回其余的结果集,这样无论是内存占用和执行效率都是优化的。对于后一种情况,则rowcount无法返回正确的select语句结果集的行数。 获取正确的select结果的行数有几种方法
1、使用fetchall函数 $q = $db->query("select ..."); $rows = $q->fetchall(); $rowcount = count($rows);
2、使用sql count函数 $q = $db->query("select count(*) from db;"); $rows = $q->fetch(); $rowcount = $rows[0];
显然第二种方法更有效率
以上所述就是本文的全部内容了,希望大家能够喜欢。
如对本文有疑问, 点击进行留言回复!!
php 使用 yansongda/pay 进行微信,支付宝支付
Codeforces Round #658 (Div. 2) (C1、C2)
van-uploader + thinkphp6.0 图片上传
网友评论