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 相关文章推荐
php 3行代码的分页算法(求起始页和结束页)
Oct 21 PHP
php采集时被封ip的解决方法
Aug 29 PHP
深入解析php中的foreach函数
Aug 31 PHP
ThinkPHP框架实现session跨域问题的解决方法
Jul 01 PHP
PHP中的命名空间相关概念浅析
Jan 22 PHP
PHP中SESSION的注销与清除
Apr 16 PHP
php防止网站被攻击的应急代码
Oct 21 PHP
php获取图片信息的方法详解
Dec 10 PHP
Zend Framework教程之资源(Resources)用法实例详解
Mar 14 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
Sep 22 PHP
php正则判断是否为合法身份证号的方法
Mar 16 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
Sep 01 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删除数组中的特定元素的代码
2012/06/28 PHP
Yii开启片段缓存的方法
2016/03/28 PHP
PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
2016/04/01 PHP
在线游戏大家来找茬II
2006/09/30 Javascript
Prototype源码浅析 String部分(三)之HTML字符串处理
2012/01/15 Javascript
多个表单中如何获得这个文件上传的网址实现js代码
2013/03/25 Javascript
js模拟点击以提交表单为例兼容主流浏览器
2013/11/29 Javascript
js中window.open()的所有参数详细解析
2014/01/09 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
2014/02/04 Javascript
javascript适合移动端的日期时间拾取器
2015/11/10 Javascript
JS正则表达式验证密码格式的集中情况总结
2017/02/23 Javascript
Node.js中环境变量process.env的一些事详解
2017/10/26 Javascript
Angular实现表单验证功能
2017/11/13 Javascript
如何以Angular的姿势打开Font-Awesome详解
2018/04/22 Javascript
用jQuery将JavaScript对象转换为querystring查询字符串的方法
2018/11/12 jQuery
JavaScript时间与时间戳的转换操作实例分析
2018/12/07 Javascript
Vue的H5页面唤起支付宝支付功能
2019/04/18 Javascript
[43:32]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第一场
2014/05/26 DOTA
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
python将回车作为输入内容的实例
2018/06/23 Python
在Python中增加和插入元素的示例
2018/11/01 Python
Python面向对象之类和对象实例详解
2018/12/10 Python
pyqt5实现登录界面的模板
2020/05/30 Python
Python 继承,重写,super()调用父类方法操作示例
2019/09/29 Python
python [:3] 实现提取数组中的数
2019/11/27 Python
pycharm 的Structure界面设置操作
2021/02/05 Python
使用HTML5的表单验证的简单示例
2015/09/09 HTML / CSS
使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例
2016/03/22 HTML / CSS
Merchant 1948澳大利亚:新西兰领先的鞋类和靴子供应商
2018/03/24 全球购物
物理专业本科生自荐信
2014/01/30 职场文书
优秀大学生职业生涯规划书
2014/02/27 职场文书
经典商业广告词
2014/03/13 职场文书
2014年仓管员工作总结
2014/11/18 职场文书
个人总结与自我评价
2015/02/14 职场文书
作息时间调整通知
2015/04/22 职场文书
法定代表人资格证明书
2015/06/18 职场文书