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
Nov 25 PHP
在PHP中操作Excel实例代码
Apr 29 PHP
php随机输出名人名言的代码
Oct 07 PHP
解析PHP的session过期设置
Jun 29 PHP
php中base_convert()进制数字转换函数实例
Nov 20 PHP
给ECShop添加最新评论
Jan 07 PHP
ThinkPHP模板标签eq if 中区分0,null,false的方法
Mar 24 PHP
yii框架无限极分类的实现方法
Apr 08 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
Jul 04 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
Jun 14 PHP
PHP进阶学习之命名空间基本用法分析
Jun 18 PHP
如何理解PHP核心特性命名空间
May 28 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
在WIN98下以apache模块方式安装php
2006/10/09 PHP
phpfans留言版用到的install.php
2007/01/04 PHP
PHP字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
PHP7 mongoDB扩展使用的方法分享
2019/05/02 PHP
PHP __call()方法实现委托示例
2019/05/20 PHP
jQuery Ajax 全解析
2009/02/08 Javascript
Visual Studio中的jQuery智能提示设置方法
2010/03/27 Javascript
JavaScript加入收藏夹功能(兼容IE、firefox、chrome)
2014/05/05 Javascript
js中的setInterval和setTimeout使用实例
2014/05/09 Javascript
jQuery 中国省市两级联动选择附图
2014/05/14 Javascript
jquery广告无缝轮播实例
2017/01/05 Javascript
vue.js实现的绑定class操作示例
2018/07/06 Javascript
vue加载完成后的回调函数方法
2018/09/07 Javascript
手动下载Chrome并解决puppeteer无法使用问题
2018/11/12 Javascript
浅谈JS的原型和继承
2019/05/08 Javascript
Python切片用法实例教程
2014/09/08 Python
在Python中使用全局日志时需要注意的问题
2015/05/06 Python
Python实现复杂对象转JSON的方法示例
2017/06/22 Python
python 表达式和语句及for、while循环练习实例
2017/07/07 Python
基于python的字节编译详解
2017/09/20 Python
PyQt5每天必学之创建窗口居中效果
2018/04/19 Python
对pandas的算术运算和数据对齐实例详解
2018/12/22 Python
Python写一个基于MD5的文件监听程序
2019/03/11 Python
Django ModelForm组件使用方法详解
2019/07/23 Python
Python virtualenv虚拟环境实现过程解析
2020/04/18 Python
详解anaconda安装步骤
2020/11/23 Python
纯CSS3+DIV实现小三角形边框效果的示例代码
2020/08/03 HTML / CSS
.NET面试问题集
2015/12/08 面试题
网络工程师个人的自我评价范文
2013/10/01 职场文书
幼师自荐信范文
2013/10/06 职场文书
《灰椋鸟》教学反思
2014/04/27 职场文书
物资采购方案
2014/06/12 职场文书
2014年外联部工作总结
2014/11/17 职场文书
如何使JavaScript休眠或等待
2021/04/27 Javascript
springcloud之Feign超时问题的解决
2021/06/24 Java/Android
MySQL 原理与优化之原数据锁的应用
2022/08/14 MySQL