浅谈PDO的rowCount函数

yipeiwu_com6年前PHP代码库

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安全配置

PHP安全配置  一、Web服务器安全  PHP其实不过是Web服务器的一个模块功能,所以首先要保证Web服务器的安全。当然Web服务器要安全又必须是先保证系...

php中访问修饰符的知识点总结

为什么需要访问权限? 防止覆盖变量名称和函数名称 我们下来看一下public的使用,public是可以从任何地方访问的最广泛的访问限定符。 假设A先生开发overlapFuncBase,...

PHP处理postfix邮件内容的方法

本文实例讲述了PHP处理postfix邮件内容的方法。分享给大家供大家参考。具体如下: <?php //从输入读取到所有的邮件内容 $email = ""; $fd =...

PHP中Trait及其应用详解

PHP中Trait及其应用详解

从PHP的5.4.0版本开始,PHP提供了一种全新的代码复用的概念,那就是Trait。Trait其字面意思是”特性”、”特点”,我们可以理解为,使用Trait关键字,可以为PHP中的类添...

PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例

本文实例讲述了PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能。分享给大家供大家参考,具体如下: 这里模拟tp框架模板变量分配与赋值操作。 ext...