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代码把全角数字转为半角数字
Dec 10 PHP
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
Feb 08 PHP
php数组函数序列之sort() 对数组的元素值进行升序排序
Nov 02 PHP
几种有用的变型 PHP中循环语句的用法介绍
Jan 30 PHP
php笔记之:AOP的应用
Apr 24 PHP
Yii中CGridView实现批量删除的方法
Dec 28 PHP
php微信高级接口群发 多客服
Jun 23 PHP
php简单统计中文个数的方法
Sep 30 PHP
php编程实现简单的网页版计算器功能示例
Apr 26 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
Nov 16 PHP
php实现对文件压缩简单的方法
Sep 29 PHP
PHP的imageTtfText()函数深入详解
Mar 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 无限级缓存的类的扩展
2009/03/16 PHP
PHP filter_var() 函数 Filter 函数
2012/04/25 PHP
PHP类与对象中的private访问控制的疑问
2012/11/01 PHP
图解找出PHP配置文件php.ini的路径的方法
2014/08/20 PHP
浅谈thinkphp的实例化模型
2015/01/04 PHP
利用PHP如何写APP接口详解
2016/08/23 PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
2017/08/15 PHP
img标签中onerror用法
2009/08/13 Javascript
jQuery弹出(alert)select选择的值
2013/04/21 Javascript
Js放到HTML文件中的哪个位置有什么区别
2013/08/21 Javascript
javascript贪吃蛇完整版(源码)
2013/12/09 Javascript
不要使用jQuery触发原生事件的方法
2014/03/03 Javascript
Jquery实现自定义弹窗示例
2014/03/12 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
javascript时间差插件分享
2016/07/18 Javascript
浅析Vue中method与computed的区别
2018/03/06 Javascript
layui 实现加载动画以及非真实加载进度的方法
2019/09/23 Javascript
VUE实现密码验证与提示功能
2019/10/18 Javascript
js表达式与运算符简单操作示例
2020/02/15 Javascript
[06:16]DOTA2守卫传承者——职业选手谈心路历程
2015/02/26 DOTA
[06:09]辉夜杯主赛事开幕式
2015/12/25 DOTA
python负载均衡的简单实现方法
2018/02/04 Python
python SQLAlchemy的Mapping与Declarative详解
2019/07/04 Python
对pytorch中的梯度更新方法详解
2019/08/20 Python
用python中的matplotlib绘制方程图像代码
2019/11/21 Python
tensorflow实现训练变量checkpoint的保存与读取
2020/02/10 Python
TensorFLow 变量命名空间实例
2020/02/11 Python
Python优秀开源项目Rich源码解析的流程分析
2020/07/06 Python
Python爬取12306车次信息代码详解
2020/08/12 Python
Python里面如何实现tuple和list的转换
2012/06/13 面试题
联谊活动总结
2014/08/28 职场文书
辞旧迎新演讲稿
2014/09/15 职场文书
企业党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
幼儿园大班教师个人工作总结
2015/02/05 职场文书
试用期辞职信范文
2015/03/02 职场文书
mysql对于模糊查询like的一些汇总
2021/05/09 MySQL