(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.9.0)
PDOStatement::closeCursor — 锟截憋拷锟轿标,使锟斤拷锟斤拷锟斤拷俅伪锟街达拷小锟�
PDOStatement::closeCursor() 锟酵放碉拷锟斤拷锟捷匡拷锟斤拷锟斤拷锟斤拷锟接o拷锟皆便发锟斤拷锟斤拷锟斤拷 SQL 锟斤拷洌拷锟绞癸拷锟戒处锟斤拷一锟斤拷锟斤拷锟皆憋拷锟劫达拷执锟叫碉拷状态锟斤拷
锟斤拷锟斤拷一锟斤拷执锟叫碉拷 PDOStatement 锟斤拷锟斤拷锟斤拷锟斤拷未取锟斤拷时锟斤拷锟剿凤拷锟斤拷锟斤拷锟斤拷些锟斤拷支锟斤拷锟斤拷执锟斤拷一锟斤拷 PDOStatement 锟斤拷锟斤拷锟斤拷锟斤拷菘锟斤拷锟斤拷锟斤拷浅锟斤拷锟斤拷谩锟� 锟斤拷锟斤拷锟斤拷菘锟斤拷锟斤拷锟斤拷艽锟斤拷锟斤拷疲锟斤拷锟斤拷锟杰筹拷锟斤拷失锟斤拷锟斤拷锟斤拷锟斤拷锟解。
PDOStatement::closeCursor() 要么锟斤拷一锟斤拷锟斤拷选锟斤拷锟斤拷锟斤拷锟斤拷锟叫凤拷锟斤拷锟斤拷效锟斤拷锟斤拷撸锟斤拷锟绞碉拷郑锟揭达拷锟斤拷锟矫伙拷锟斤拷锟斤拷锟斤拷囟锟斤拷墓锟斤拷锟绞憋拷锟轿伙拷锟斤拷PDO 锟斤拷锟斤拷锟斤拷实锟街★拷一锟斤拷谋锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 PHP 锟斤拷锟斤拷锟斤拷同锟斤拷
<?php
do {
while ($stmt->fetch())
;
if (!$stmt->nextRowset())
break;
} while (true);
?>
锟缴癸拷时锟斤拷锟斤拷 TRUE
锟斤拷 锟斤拷锟斤拷锟斤拷失锟斤拷时锟斤拷锟斤拷 FALSE
锟斤拷
Example #1 一锟斤拷 PDOStatement::closeCursor() 锟斤拷锟斤拷锟斤拷
锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫o拷$stmt PDOStatement 锟斤拷锟襟返回讹拷锟叫o拷锟斤拷应锟矫筹拷锟斤拷只取锟斤拷一锟叫o拷锟斤拷 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();
?>