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 中文字符入库或显示乱码问题的解决方法
Apr 12 PHP
PHP中全局变量global和$GLOBALS[]的区别分析
Aug 06 PHP
将php数组输出html表格的方法
Feb 24 PHP
php二维数组合并及去重复的方法
Mar 04 PHP
PHP实现递归复制整个文件夹的类实例
Aug 03 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
May 12 PHP
thinkphp项目如何自定义微信分享描述内容
Feb 20 PHP
基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
Feb 24 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
Jun 07 PHP
PHP CURL与java http使用方法详解
Jan 26 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
May 09 PHP
PHP中__set()实例用法和基础讲解
Jul 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
dedecms系统常用术语汇总
2007/04/03 PHP
PHP5+UTF8多文件上传类
2008/10/17 PHP
php写的简易聊天室代码
2011/06/04 PHP
PHP 快速排序算法详解
2014/11/10 PHP
PHP获取文件行数的方法
2015/06/10 PHP
yii2.0实现验证用户名与邮箱功能
2015/12/22 PHP
Yii2中OAuth扩展及QQ互联登录实现方法
2016/05/16 PHP
PHP 使用二进制保存用户状态的实例
2018/01/29 PHP
javascript的原生方法获取数组中的最大(最小)值
2012/12/19 Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
2015/02/27 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
设置jquery UI 控件的大小方法
2016/12/12 Javascript
javascript DOM的详解及实例代码
2017/03/06 Javascript
bootstrap模态框示例代码分享
2017/05/17 Javascript
javascript Function函数理解与实战
2017/12/01 Javascript
微信小程序使用npm支持踩坑
2018/11/07 Javascript
JavaScript如何获取一个元素的样式信息
2019/07/29 Javascript
[15:28]DOTA2 HEROS教学视频教你分分钟做大人-剧毒术士
2014/06/13 DOTA
[47:04]LGD vs infamous Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
python sys模块sys.path使用方法示例
2013/12/04 Python
Python HTTP客户端自定义Cookie实现实例
2017/04/28 Python
python requests爬取高德地图数据的实例
2018/11/10 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
2018/12/24 Python
使用Python检测文章抄袭及去重算法原理解析
2019/06/14 Python
TensorFlow实现指数衰减学习率的方法
2020/02/05 Python
在pycharm中为项目导入anacodna环境的操作方法
2020/02/12 Python
Python实现多线程下载脚本的示例代码
2020/04/03 Python
pycharm配置QtDesigner的超详细方法
2021/01/25 Python
Python爬虫分析微博热搜关键词的实现代码
2021/02/22 Python
手工制作的意大利礼服鞋:Ace Marks
2018/12/15 全球购物
电子商务专业学生的自我鉴定
2013/11/28 职场文书
和谐社区口号
2014/06/19 职场文书
餐厅服务员岗位职责
2015/02/09 职场文书
解决Swagger2返回map复杂结构不能解析的问题
2021/07/02 Java/Android
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL
git stash(储藏)的用法总结
2022/06/25 Servers