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 相关文章推荐
wordpress之wp-settings.php
Aug 17 PHP
php 删除无限级目录与文件代码共享
Nov 22 PHP
关于PHP二进制流 逐bit的低位在前算法(详解)
Jun 13 PHP
php读取富文本的时p标签会出现红线是怎么回事
May 13 PHP
使用PHP破解防盗链图片的一个简单方法
Jun 07 PHP
php连接oracle数据库及查询数据的方法
Dec 29 PHP
基于PHP给大家讲解防刷票的一些技巧
Nov 18 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
Apr 27 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
Nov 14 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
Oct 15 PHP
php和C#的yield迭代器实现方法对比分析
Jul 17 PHP
TP3.2框架分页相关实现方法分析
Jun 03 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模拟SQL Server的两个日期处理函数
2006/10/09 PHP
基于PHP实现通过照片获取ip地址
2016/04/26 PHP
PHP中常见的密码处理方式和建议总结
2018/10/14 PHP
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例
2013/06/29 Javascript
javascript闭包的高级使用方法实例
2013/07/04 Javascript
jquerymobile局部渲染的各种刷新方法小结
2014/03/05 Javascript
window.location.href IE下跳转失效的解决方法
2014/03/27 Javascript
javascript中sort()的用法实例分析
2015/01/30 Javascript
jQuery实现鼠标滑向当前图片高亮显示并且其它图片变灰的方法
2015/07/27 Javascript
JavaScript中的定时器之Item23的合理使用
2015/10/30 Javascript
jQuery 移动端artEditor富文本编辑器
2016/01/11 Javascript
JS显示日历和天气的方法
2016/03/01 Javascript
jQuery Validate设置onkeyup验证的实例代码
2016/12/09 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
微信小程序 es6-promise.js封装请求与处理异步进程
2017/06/12 Javascript
JS学习笔记之闭包小案例分析
2019/05/29 Javascript
ES6的异步终极解决方案分享
2019/07/11 Javascript
jquery实现商品sku多属性选择功能(商品详情页)
2019/12/20 jQuery
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
python时间整形转标准格式的示例分享
2014/02/14 Python
使用Python编写一个在Linux下实现截图分享的脚本的教程
2015/04/24 Python
python爬虫面试宝典(常见问题)
2018/03/02 Python
详解python的四种内置数据结构
2019/03/19 Python
利用python绘制中国地图(含省界、河流等)
2020/09/21 Python
Django haystack实现全文搜索代码示例
2020/11/28 Python
凯撒娱乐:Caesars Entertainment
2018/02/23 全球购物
文秘自荐信
2013/10/20 职场文书
个人应聘自我评价分享
2013/11/18 职场文书
房屋公证委托书
2014/04/03 职场文书
服务型党组织建设典型材料
2014/05/07 职场文书
护士节策划方案
2014/05/19 职场文书
餐饮服务员岗位职责
2015/02/09 职场文书
张思德观后感
2015/06/09 职场文书
疾病证明书
2015/06/19 职场文书
详解Nginx 工作原理
2021/03/31 Servers