PHP PDOStatement::rowCount讲解


Posted in PHP onFebruary 01, 2019

PDOStatement::rowCount

PDOStatement::rowCount — 返回受上一个 SQL 语句影响的行数(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

说明

语法

int PDOStatement::rowCount ( void )

PDOStatement::rowCount()返回上一个由对应的 PDOStatement 对象执行DELETE、 INSERT、或 UPDATE 语句受影响的行数。

如果上一条由相关 PDOStatement 执行的 SQL 语句是一条 SELECT 语句,有些数据可能返回由此语句返回的行数。但这种方式不能保证对所有数据有效,且对于可移植的应用不应依赖于此方式。

返回值

返回行数。

实例

返回删除的行数

PDOStatement::rowCount()返回受 DELETE、INSERT、或 UPDATE 语句影响的行数。

<?php
/* 从 FRUIT 数据表中删除所有行 */
$del = $dbh->prepare('DELETE FROM fruit');
$del->execute();
/* 返回被删除的行数 */
print("Return number of rows that were deleted:\n");
$count = $del->rowCount();
print("Deleted $count rows.\n");
?>

以上实例输出:

Return number of rows that were deleted:
Deleted 9 rows.

计算由一个 SELECT 语句返回的行数

对于大多数数据库,PDOStatement::rowCount()不能返回受一条 SELECT 语句影响的行数。替代的方法是,使用PDO::query()来发出一条和原打算中的SELECT语句有相同条件表达式的SELECT COUNT(*) 语句,然后用 PDOStatement::fetchColumn()来取得下一行。这样应用程序才能正确执行。

<?php
$sql = "SELECT COUNT(*) FROM fruit WHERE calories > 100";
if ($res = $conn->query($sql)) {
  /* 检查符合 SELECT 语句的行数 */
 if ($res->fetchColumn() > 0) {
    /* 发出一条真正的 SELECT 语句并操作返回的结果 */
     $sql = "SELECT name FROM fruit WHERE calories > 100";
    foreach ($conn->query($sql) as $row) {
      print "Name: " . $row['NAME'] . "\n";
     }
  }
  /* 没有匹配的行 -- 执行其他 */
 else {
   print "No rows matched the query.";
  }
}
$res = null;
$conn = null;
?>

以上实例输出结果为:

apple
banana
orange
pear

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

PHP 相关文章推荐
apache+mysql+php+ssl服务器之完全安装攻略
Sep 05 PHP
关于BIG5-HKSCS的解决方法
Mar 20 PHP
Google Voice 短信发送接口PHP开源版(2010.5更新)
Jul 22 PHP
一个基于PDO的数据库操作类
Mar 24 PHP
php加密算法之实现可逆加密算法和解密分享
Jan 21 PHP
php实现cc攻击防御和防止快速刷新页面示例
Feb 13 PHP
php实现监控varnish缓存服务器的状态
Dec 30 PHP
学习php设计模式 php实现原型模式(prototype)
Dec 07 PHP
PHP面向对象之工作单元(实例讲解)
Jun 26 PHP
Yii2.0实现生成二维码功能实例
Oct 24 PHP
PHP CURL与java http使用方法详解
Jan 26 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 PHP
PHP PDOStatement::nextRowset讲解
Feb 01 #PHP
PHP PDOStatement::getColumnMeta讲解
Feb 01 #PHP
PHP PDOStatement::getAttribute讲解
Feb 01 #PHP
PHP PDOStatement::fetchObject讲解
Feb 01 #PHP
Laravel框架搜索分页功能示例
Feb 01 #PHP
PHP树形结构tree类用法示例
Feb 01 #PHP
PHP-FPM和Nginx的通信机制详解
Feb 01 #PHP
You might like
php过滤XSS攻击的函数
2013/11/12 PHP
php使用自定义函数实现汉字分割替换功能示例
2017/01/30 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
2017/04/01 PHP
PHP中有关长整数的一些操作教程
2019/09/11 PHP
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
获取内联和链接中的样式(js代码)
2013/04/11 Javascript
JavaScript中把数字转换为字符串的程序代码
2013/06/19 Javascript
jquery中的on方法使用介绍
2013/12/29 Javascript
JS(JQuery)操作Array的相关方法介绍
2014/02/11 Javascript
JavaScript实现网页截图功能
2014/10/16 Javascript
浅谈JavaScript数据类型
2015/03/03 Javascript
jQuery实现鼠标划过修改样式的方法
2015/04/14 Javascript
JS实现可调整倒计时间代码分享
2015/08/18 Javascript
JS实现适合于后台使用的动画折叠菜单效果
2015/09/21 Javascript
jquery表单验证需要做些什么
2015/11/17 Javascript
AngularJs入门教程之环境搭建+创建应用示例
2016/11/01 Javascript
详解vuejs之v-for列表渲染
2017/06/22 Javascript
Angular2 父子组件通信方式的示例
2018/01/29 Javascript
vue中$set的使用(结合在实际应用中遇到的坑)
2018/07/10 Javascript
[01:24:51]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第二场
2014/05/26 DOTA
[56:35]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第二局
2016/02/27 DOTA
Python脚本实现网卡流量监控
2015/02/14 Python
Python的Django框架中模板碎片缓存简介
2015/07/24 Python
Python 使用类写装饰器的小技巧
2018/09/30 Python
用python写爬虫简单吗
2020/07/28 Python
Pycharm新手使用教程(图文详解)
2020/09/17 Python
CSS3+DIV实现漂亮的动画彩色标签
2016/06/16 HTML / CSS
HTML5 Canvas入门学习教程
2016/03/17 HTML / CSS
YesStyle美国/全球:购买亚洲时装、美容化妆品和生活百货
2017/01/16 全球购物
实习护士自我鉴定
2013/10/13 职场文书
优秀技术工人先进材料
2014/02/17 职场文书
餐厅销售主管职责范本
2014/02/19 职场文书
代领学位证书毕业证书委托书
2014/09/30 职场文书
网络营销计划
2015/01/17 职场文书
2019年个人工作总结范文
2019/03/25 职场文书
golang elasticsearch Client的使用详解
2021/05/05 Golang