浅谈PDO的rowCount函数

yipeiwu_com7年前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中的字符串编码转换(自动识别原编码)

复制代码 代码如下:/** * 对数据进行编码转换 * @param array/string $data     ...

PHP中for循环语句的几种变型

PHP中for循环语句的几种变型˂!-- google 的广告条 2005年09月20日换位置 唉,22号被停了.郁闷,没作弊呀 11.27日重开了 ˂!-- goog...

php站内搜索并高亮显示关键字的实现代码

复制代码 代码如下: <?php require_once 'sqlTools.class.php';//封装类,可执行dql、dml语句 $info=$_POST['info']...

PHP 采集程序中常用的函数

复制代码 代码如下://获得当前的脚本网址 function get_php_url() { if(!empty($_SERVER[”REQUEST_URI”])) { $scriptN...

PHP实现UTF8二进制及明文字符串的转化功能示例

本文实例讲述了PHP实现UTF8二进制及明文字符串的转化功能。分享给大家供大家参考,具体如下: <?php /***********本程序由云客编写。有空的时候承接ph...