PHP PDOStatement::closeCursor讲解


Posted in PHP onJanuary 30, 2019

PDOStatement::closeCursor

PDOStatement::closeCursor — 关闭游标,使语句能再次被执行。(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0)

说明

语法

bool PDOStatement::closeCursor ( void )

PDOStatement::closeCursor()释放到数据库服务的连接,以便发出其他 SQL 语句,但使语句处于一个可以被再次执行的状态。

当上一个执行的 PDOStatement 对象仍有未取行时,此方法对那些不支持再执行一个PDOStatement 对象的数据库驱动非常有用。 如果数据库驱动受此限制,则可能出现失序错误的问题。

PDOStatement::closeCursor()要么是一个可选驱动的特有方法(效率最高)来实现,要么是在没有驱动特定的功能时作为一般的PDO 备用来实现。一般的备用语义上与下面的 PHP 代码相同:

<?php
do {
  while ($stmt->fetch())
    ;
  if (!$stmt->nextRowset())
    break;
} while (true);
?>

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE。

实例

一个PDOStatement::closeCursor()的例子

在下面例子中,$stmt PDOStatement 对象返回多行,但应用程序只取第一行,让 PDOStatement 对象处于一个有未取行的状态。为确保应用程序对所有数据库驱动都能正常运行,在执行 $otherStmt PDOStatement 对象前,$stmt 调用一次 PDOStatement::closeCursor()

<?php
/* 创建一个 PDOStatement 对象 */
$stmt = $dbh->prepare('SELECT foo FROM bar');
/* 创建第二个 PDOStatement 对象 */
$otherStmt = $dbh->prepare('SELECT foobaz FROM foobar');
/* 执行第一条语句 */
$stmt->execute();
/* 从结果集中只取出第一行 */
$stmt->fetch();
/* The following call to closeCursor() may be required by some drivers */
$stmt->closeCursor();
/* 现在可以执行第二条语句了 */
$otherStmt->execute();
?>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

PHP 相关文章推荐
php Mysql日期和时间函数集合
Nov 16 PHP
一些被忽视的PHP函数(简单整理)
Apr 30 PHP
php与mysql建立连接并执行SQL语句的代码
Jul 04 PHP
PHP输出时间差函数代码
Jan 28 PHP
spl_autoload_register与autoload的区别详解
Jun 03 PHP
CodeIgniter上传图片成功的全部过程分享
Aug 12 PHP
thinkphp备份数据库的方法分享
Jan 04 PHP
PHP中iconv函数转码时截断字符问题的解决方法
Jan 21 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
Mar 18 PHP
Yii2 输出xml格式数据的方法
May 03 PHP
php利用云片网实现短信验证码功能的示例代码
Nov 18 PHP
Laravel 微信小程序后端搭建步骤详解
Nov 26 PHP
PHP PDOStatement::debugDumpParams讲解
Jan 30 #PHP
PHP PDOStatement::bindValue讲解
Jan 30 #PHP
PHP PDOStatement::bindParam讲解
Jan 30 #PHP
PHP PDOStatement::bindColumn讲解
Jan 30 #PHP
PHP连接及操作PostgreSQL数据库的方法详解
Jan 30 #PHP
PDO::setAttribute讲解
Jan 29 #PHP
PDO::rollBack讲解
Jan 29 #PHP
You might like
浅析PHP绘图技术
2013/07/03 PHP
详细解读PHP中接口的应用
2015/08/12 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
利用PHP实现开心消消乐的算法示例
2017/10/12 PHP
Prototype 学习 工具函数学习($w,$F方法)
2009/07/12 Javascript
使用JavaScript动态设置样式实现代码(2)
2013/01/25 Javascript
jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
2014/05/08 Javascript
angularjs的一些优化小技巧
2014/12/06 Javascript
Angularjs的ng-repeat中去除重复数据的方法
2016/08/05 Javascript
Vue.js每天必学之计算属性computed与$watch
2016/09/05 Javascript
nodejs利用ajax实现网页无刷新上传图片实例代码
2017/06/06 NodeJs
详解vue父子组件间传值(props)
2017/06/29 Javascript
原生js获取left值和top值的三种方法
2017/08/02 Javascript
基于daterangepicker日历插件使用参数注意的问题
2017/08/10 Javascript
防止页面url缓存中ajax中post请求的处理方法
2017/10/10 Javascript
解决vue+webpack打包路径的问题
2018/03/06 Javascript
Vue 幸运大转盘实现思路详解
2019/05/06 Javascript
vue-cli3添加模式配置多环境变量的方法
2019/06/05 Javascript
使用Vant完成DatetimePicker 日期的选择器操作
2020/11/12 Javascript
linux系统使用python监测系统负载脚本分享
2014/01/15 Python
Python开发实例分享bt种子爬虫程序和种子解析
2014/05/21 Python
Python 文件处理注意事项总结
2017/04/10 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
Python提取特定时间段内数据的方法实例
2019/04/01 Python
python执行scp命令拷贝文件及文件夹到远程主机的目录方法
2019/07/08 Python
Python基于stuck实现scoket文件传输
2020/04/02 Python
Belle Maison倍美丛官网:日本千趣会旗下邮购网站
2016/07/22 全球购物
飞利浦法国官网:Philips法国
2019/07/10 全球购物
物业管理个人自我评价
2013/11/08 职场文书
岗位职责定义及内容
2013/11/08 职场文书
产品工艺师的岗位职责
2013/11/15 职场文书
优秀交警事迹材料
2014/01/26 职场文书
践行党的群众路线心得体会
2014/11/05 职场文书
家长评语怎么写
2014/12/30 职场文书
2015年公务员工作总结
2015/04/24 职场文书
办公经费申请报告
2015/05/15 职场文书