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学习之PHP表达式
Oct 09 PHP
介绍几个array库的新函数 php
Dec 29 PHP
Smarty Foreach 使用说明
Mar 23 PHP
PHP数组对比函数,存在交集则返回真,否则返回假
Feb 03 PHP
php简单的上传类分享
May 15 PHP
Yii2框架中日志的使用方法分析
May 22 PHP
关于PHP转换超过2038年日期出错的问题解决
Jun 28 PHP
PHP实现的AES双向加密解密功能示例【128位】
Sep 03 PHP
PHP正则判断一个变量是否为正整数的方法
Feb 27 PHP
Laravel中正确地返回HTTP状态码方法示例
Sep 10 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
Feb 27 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
Mar 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输出控制功能在简繁体转换中的应用
2006/10/09 PHP
php的控制语句
2006/10/09 PHP
php 判断页面或图片是否经过gzip压缩的方法
2017/04/05 PHP
thinkphp5引入公共部分header、footer的方法详解
2018/09/14 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
2020/08/20 PHP
JavaScript下通过的XMLHttpRequest发送请求的代码
2011/06/28 Javascript
jQuery .attr()和.removeAttr()方法操作元素属性示例
2013/07/16 Javascript
js实现兼容IE和FF的上下层的移动
2015/05/04 Javascript
百度地图给map添加右键菜单(判断是否为marker)
2016/03/04 Javascript
Bootstrap CSS组件之按钮组(btn-group)
2016/12/17 Javascript
bootstrap选项卡使用方法解析
2017/01/11 Javascript
vue mixins组件复用的几种方式(小结)
2017/09/06 Javascript
JS实现的哈夫曼编码示例【原始版与修改版】
2018/04/22 Javascript
详解微信小程序实现WebSocket心跳重连
2018/07/31 Javascript
layui结合form,table的全选、反选v1.0示例讲解
2018/08/15 Javascript
vue项目打包部署到服务器的方法示例
2018/08/27 Javascript
vue项目中在外部js文件中直接调用vue实例的方法比如说this
2019/04/28 Javascript
vue下canvas裁剪图片实例讲解
2020/04/16 Javascript
为react组件库添加typescript类型提示的方法
2020/06/15 Javascript
js实现简单选项卡制作
2020/08/05 Javascript
[03:48]2014DOTA2 TI专访71DK夺冠不靠小组赛高排名
2014/07/11 DOTA
[58:12]Ti4第二日主赛事败者组 LGD vs iG 3
2014/07/21 DOTA
[02:28]DOTA2亚洲邀请赛附加赛 RECAP赛事回顾
2015/01/29 DOTA
[50:27]OG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/30 DOTA
python发送邮件脚本
2018/05/22 Python
python名片管理系统开发
2020/06/18 Python
pycharm 实现光标快速移动到括号外或行尾的操作
2021/02/05 Python
IE兼容css3圆角的实现代码
2011/07/21 HTML / CSS
草莓网英国官网:Strawberrynet UK
2017/02/12 全球购物
怎样让char类型的东西转换成int类型
2013/12/09 面试题
关于赌博的检讨书
2014/01/08 职场文书
租房协议书
2014/04/10 职场文书
创先争优公开承诺书
2014/08/30 职场文书
2016元旦主持人开场白
2015/12/03 职场文书
Java实现简易的分词器功能
2021/06/15 Java/Android
Python 避免字典和元组的多重嵌套问题
2022/07/15 Python