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 相关文章推荐
实用函数7
Nov 08 PHP
php全排列递归算法代码
Oct 09 PHP
php缓冲输出实例分析
Jan 05 PHP
Codeigniter实现发送带附件的邮件
Mar 19 PHP
PHP常用处理静态操作类
Apr 03 PHP
在Mac上编译安装PHP7的开发环境
Jul 28 PHP
PHP可变函数学习小结
Nov 29 PHP
PHP Static延迟静态绑定用法分析
Mar 16 PHP
基于Swoole实现PHP与websocket聊天室
Aug 03 PHP
PHP文件系统管理(实例讲解)
Sep 19 PHP
ThinkPHP框架整合微信支付之JSAPI模式图文详解
Apr 09 PHP
YII2.0框架行为(Behavior)深入详解
Jul 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-Java-Bridge使用笔记
2014/09/22 PHP
php以fastCGI的方式运行时文件系统权限问题及解决方法
2015/05/11 PHP
PHP双向链表定义与用法示例
2018/01/31 PHP
PHP自动载入类文件函数__autoload的使用方法
2019/03/25 PHP
JS 巧妙获取剪贴板数据 Excel数据的粘贴
2009/07/09 Javascript
基于jQuery的日期选择控件
2009/10/27 Javascript
基于Jquery与WebMethod投票功能实现代码
2011/01/19 Javascript
基于PHP+Jquery制作的可编辑的表格的代码
2011/04/10 Javascript
javaScript对文字按照拼音排序实现代码
2013/12/27 Javascript
javaScript中的this示例学习详解及工作原理
2014/01/13 Javascript
html dom节点操作(获取/修改/添加或删除)
2014/01/23 Javascript
JQuery中使用ajax传输超大数据的解决方法
2014/07/14 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
jQuery实现连续动画效果实例分析
2015/10/09 Javascript
JS+CSS实现仿雅虎另类滑动门切换效果
2015/10/13 Javascript
详解微信小程序开发之城市选择器 城市切换
2017/01/17 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
2017/01/20 Javascript
js实现文本上下来回滚动
2017/02/03 Javascript
VUE axios发送跨域请求需要注意的问题
2017/07/06 Javascript
JavaScript强制类型转换和隐式类型转换操作示例
2019/05/01 Javascript
Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控
2019/05/13 Javascript
vue项目中使用bpmn为节点添加颜色的方法
2020/04/30 Javascript
[48:24]完美世界DOTA2联赛循环赛LBZS vs Forest 第一场 10月30日
2020/10/31 DOTA
python实现爬虫统计学校BBS男女比例(一)
2015/12/31 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
2018/02/18 Python
Pandas GroupBy对象 索引与迭代方法
2018/11/16 Python
实例介绍Python中整型
2019/02/11 Python
Python3.5字符串常用操作实例详解
2019/05/01 Python
基于html5 canvas做批改作业的小插件
2020/05/20 HTML / CSS
使用SVG实现提示框功能的示例代码
2020/06/05 HTML / CSS
香港太阳眼镜网上商店:SmartBuyGlasses香港
2016/07/22 全球购物
c语言常见笔试题总结
2016/09/05 面试题
施工安全承诺书
2014/05/22 职场文书
只需要12页,掌握撰写一流商业计划书的技巧
2019/05/07 职场文书
JS如何实现基于websocket的多端桥接平台
2021/05/14 Javascript
idea下配置tomcat避坑详解
2022/04/12 Servers