浅谈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开发中非常常见,学习好数组处理函数至关重要.数组处理函数在实际应用中涉及到:数组的创建,字符串于数组的相互转换,数组转XML,数组转JSO...

PHP 程序员也要学会使用“异常”

网站完全开放的特性,决定了网站比任何传统软件都更希望做到“系统看起来永远都是能够正常工作的”,所以采用正确的程序错误处理方式尤为重要。理论上来说,如果设计足够完美,开发人员足够谨慎,程序...

详谈php ip2long 出现负数的原因及解决方法

php提供了ip2long与long2ip方法对ip地址处理。 1、ip2long — 将一个IPV4的字符串互联网协议转换成数字格式 int ip2long ( string $ip_...

使用PHP编写的SVN类

复制代码 代码如下:<?php/** * SVN 外部命令 类 * * @author rubekid * * @todo com...

php类常量用法实例分析

本文实例讲述了php类常量用法。分享给大家供大家参考。具体如下: <?php /** * PHP类常量 * * 类常量属于类自身,不属于对象实例,不能通过对象实例...