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生成HTML静态页面实例代码
Aug 31 PHP
深入分析php中接口与抽象类的区别
Jun 08 PHP
php验证是否是md5编码的简单代码
Apr 01 PHP
php判断数组中是否存在指定键(key)的方法
Mar 17 PHP
php实现每天自动变换随机问候语的方法
May 12 PHP
使用Thinkphp框架开发移动端接口
Aug 05 PHP
PHP+iframe图片上传实现即时刷新效果
Nov 18 PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
Feb 08 PHP
PHP中Trait及其应用详解
Feb 14 PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
Apr 23 PHP
如何解决PHP获取不到SESSION信息之一般情况
Oct 10 PHP
Laravel 创建可以传递参数 Console服务的例子
Oct 14 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
IIS6.0中配置php服务全过程解析
2013/08/07 PHP
PHP实现一个简单url路由功能实例
2016/11/05 PHP
php 常用的系统函数
2017/02/07 PHP
laravel ORM 只开启created_at的几种方法总结
2018/01/29 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
PHP7原生MySQL数据库操作实现代码
2020/07/03 PHP
Javascript里使用Dom操作Xml
2006/09/20 Javascript
ASP.NET jQuery 实例16 通过控件CustomValidator验证RadioButtonList
2012/02/03 Javascript
三种动态加载js的jquery实例代码另附去除js方法
2014/04/30 Javascript
JS实现仿京东淘宝竖排二级导航
2014/12/08 Javascript
浅谈Javascript的静态属性和原型属性
2015/05/07 Javascript
javascript冒泡排序小结
2016/04/10 Javascript
如何在JS中实现相互转换XML和JSON
2016/07/19 Javascript
js转换对象为xml
2017/02/17 Javascript
jQuery实现弹窗居中效果类似alert()
2017/02/27 Javascript
前端页面文件拖拽上传模块js代码示例
2017/05/19 Javascript
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
JavaScript的console命令使用实例
2019/12/03 Javascript
vue中监听路由参数的变化及方法
2019/12/06 Javascript
如何通过JS实现日历简单算法
2020/10/14 Javascript
ES2020让代码更优美的运算符 (?.) (??)
2021/01/04 Javascript
python strip()函数 介绍
2013/05/24 Python
Python下实现的RSA加密/解密及签名/验证功能示例
2017/07/17 Python
基于python中theano库的线性回归
2018/08/31 Python
python实现抽奖小程序
2020/04/15 Python
win10从零安装配置pytorch全过程图文详解
2020/05/08 Python
绝对令人的惊叹的CSS3折叠效果(3D效果)整理
2012/12/30 HTML / CSS
美国知名保健品网站:LuckyVitamin(支持中文)
2017/08/09 全球购物
阿拉伯时尚购物网站:Nisnass
2021/02/07 全球购物
科长竞争上岗演讲稿
2014/05/12 职场文书
体育运动会广播稿
2014/10/05 职场文书
2015年幼儿园教育教学工作总结
2015/05/25 职场文书
2016教师节问候语
2015/11/10 职场文书
2016年校园社会综合治理宣传月活动总结
2016/03/16 职场文书
导游词之太湖
2019/10/08 职场文书
python学习之panda数据分析核心支持库
2021/05/07 Python