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与SQL注入攻击[一]
Apr 17 PHP
PHP foreach循环使用详解与实例代码
May 08 PHP
PHP生成自适应大小的缩略图类及使用方法分享
May 06 PHP
php一个解析字符串排列数组的方法
May 12 PHP
php版微信发红包接口用法示例
Sep 23 PHP
Yii 2.0自带的验证码使用经验分享
Jun 19 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
Dec 25 PHP
关于Curl在Swoole协程中的解决方案详析
Sep 12 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
Oct 24 PHP
PHP单元测试配置与使用方法详解
Dec 27 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
Jul 08 PHP
如何用PHP实现多线程编程
May 26 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查询MySQL大量数据的时候内存占用分析
2011/07/22 PHP
PHP清除字符串中所有无用标签的方法
2014/12/01 PHP
PHPCMS V9 添加二级导航的思路详解
2016/10/20 PHP
动感效果的TAB选项卡jquery 插件
2011/07/09 Javascript
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
javascript封装的sqlite操作类实例
2015/07/17 Javascript
Jquery实现瀑布流布局(备有详细注释)
2015/07/31 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
2015/10/01 Javascript
js图片轮播效果实现代码
2020/04/18 Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
2017/01/22 Javascript
性能优化之代码优化页面加载速度
2017/03/01 Javascript
jquery实现异步加载图片(懒加载图片一种方式)
2017/04/24 jQuery
vue 打包后的文件部署到express服务器上的方法
2017/08/09 Javascript
浅谈angular表单提交中ng-submit的默认使用方法
2018/09/30 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
2018/12/10 jQuery
angular多语言配置详解
2019/05/16 Javascript
jQuery 选择器用法基础入门示例
2020/01/04 jQuery
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
如何在vue 中引入使用jquery
2020/11/10 jQuery
Vue实现圆环进度条的示例
2021/02/06 Vue.js
Python中多线程及程序锁浅析
2015/01/21 Python
一个基于flask的web应用诞生 flask和mysql相连(4)
2017/04/11 Python
python使用threading获取线程函数返回值的实现方法
2017/11/15 Python
python将文本中的空格替换为换行的方法
2018/03/19 Python
详解Appium+Python之生成html测试报告
2019/01/04 Python
利用Python进行图像的加法,图像混合(附代码)
2019/07/14 Python
Python 3.8正式发布,来尝鲜这些新特性吧
2019/10/15 Python
Python 在局部变量域中执行代码
2020/08/07 Python
HTML5 input新增type属性color颜色拾取器的实例代码
2018/08/27 HTML / CSS
Jimmy Choo美国官网:周仰杰鞋子品牌
2018/06/08 全球购物
python+selenium小米商城红米K40手机自动抢购的示例代码
2021/03/24 Python
音乐教师求职信
2014/06/28 职场文书
公司离职证明范本
2014/10/17 职场文书
小学教师见习总结
2015/06/23 职场文书
2016年五四青年节校园广播稿
2015/12/17 职场文书
Python利用Turtle绘制哆啦A梦和小猪佩奇
2022/04/04 Python