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 26 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
Oct 29 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
Dec 03 PHP
解决php接收shell返回的结果中文乱码问题
Jan 23 PHP
CodeIgniter实现更改view文件夹路径的方法
Jul 04 PHP
php类中的各种拦截器用法分析
Nov 03 PHP
php判断输入是否是纯数字,英文,汉字的方法
Mar 05 PHP
php实现模拟post请求用法实例
Jul 11 PHP
服务器迁移php版本不同可能诱发的问题
Dec 22 PHP
Laravle eloquent 多对多模型关联实例详解
Nov 22 PHP
Laravel框架FormRequest中重写错误处理的方法
Feb 18 PHP
PHP工厂模式、单例模式与注册树模式实例详解
Jun 03 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安装为Apache DSO
2006/10/09 PHP
php生成xml简单实例代码
2009/12/16 PHP
数据库中排序的对比及使用条件详解
2012/02/23 PHP
PHP中return 和 exit 、break和contiue 区别与用法
2012/04/09 PHP
PHP转换文件夹下所有文件编码的实现代码
2013/06/06 PHP
YII路径的用法总结
2014/07/09 PHP
php实现singleton()单例模式实例
2014/11/06 PHP
10个对初学者非常有用的PHP技巧
2016/04/06 PHP
php通过文件头判断格式的方法
2016/05/28 PHP
PHP中如何判断exec函数执行成功?
2016/08/04 PHP
php之可变函数的实例详解
2017/09/13 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
2017/10/12 PHP
由document.body和document.documentElement想到的
2009/04/13 Javascript
javascript在事件监听方面的兼容性小结
2010/04/07 Javascript
jQuery判断checkbox是否选中的3种方法
2014/08/12 Javascript
javascript中mouseover、mouseout使用详解
2015/07/19 Javascript
JS特效实现图片自动播放并可控的效果
2015/07/31 Javascript
vue-router路由简单案例介绍
2017/02/21 Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
2017/05/27 Javascript
JS中的算法与数据结构之栈(Stack)实例详解
2019/08/20 Javascript
Angular进行简单单元测试的实现方法实例
2020/08/16 Javascript
Python列表生成器的循环技巧分享
2015/03/06 Python
在Python的一段程序中如何使用多次事件循环详解
2017/09/07 Python
在PyCharm中实现关闭一个死循环程序的方法
2018/11/29 Python
python集合删除多种方法详解
2020/02/10 Python
python小程序之4名牌手洗牌发牌问题解析
2020/05/15 Python
基于plt.title无法显示中文的快速解决
2020/05/16 Python
python程序需要编译吗
2020/06/19 Python
python之openpyxl模块的安装和基本用法(excel管理)
2021/02/03 Python
英国家用电器购物网站:Hughes
2018/02/23 全球购物
应届大专毕业生个人自荐信
2013/09/22 职场文书
自荐信格式技巧有哪些呢
2013/11/19 职场文书
《中彩那天》教学反思
2014/02/22 职场文书
2015年环境监察工作总结
2015/07/23 职场文书
MySQL连表查询分组去重的实现示例
2021/07/01 MySQL
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
2022/06/21 Python