PDOStatement::closeCursor
PDOStatement::closeCursor
(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.9.0)
PDOStatement :: closeCursor - 关闭游标,使语句再次执行。
描述
public bool PDOStatement::closeCursor ( void )
PDOStatement :: closeCursor()
释放与服务器的连接,以便可以发出其他SQL语句,但会使语句处于使其能够再次执行的状态。
当先前执行的PDOStatement对象仍具有未提取的行时,此方法对于不支持执行PDOStatement对象的数据库驱动程序非常有用。如果您的数据库驱动程序受到此限制,则问题可能表现为无序错误。
PDOStatement :: closeCursor()
被实现为可选的驱动程序特定方法(允许最大效率),或者作为通用PDO后退(如果没有安装驱动程序特定功能)。PDO通用回退在语义上与在PHP脚本中编写以下代码相同:
<?php
do {
while ($stmt->fetch())
;
if (!$stmt->nextRowset())
break;
} while (true
?>
返回值
成功时返回TRUE
或失败时返回FALSE
。
示例
示例#1 PDOStatement :: closeCursor()示例
在以下示例中,$ stmt PDOStatement对象返回多行,但应用程序只读取第一行,使PDOStatement对象处于未提取行的状态。为了确保该应用程序将与所有数据库驱动程序工作,笔者插入到呼叫PDOStatement对象:: closeCursor()
在$语句执行$ otherStmt PDOStatement对象对象之前。
<?php
/* Create a PDOStatement object */
$stmt = $dbh->prepare('SELECT foo FROM bar'
/* Create a second PDOStatement object */
$otherStmt = $dbh->prepare('SELECT foobaz FROM foobar'
/* Execute the first statement */
$stmt->execute(
/* Fetch only the first row from the results */
$stmt->fetch(
/* The following call to closeCursor() may be required by some drivers */
$stmt->closeCursor(
/* Now we can execute the second statement */
$otherStmt->execute(
?>
扩展内容
- PDOStatement :: execute() - 执行准备好的语句
← PDOStatement::bindValue
PDOStatement::columnCount →