PDOStatement::closeCursor
PDOStatement::closeCursor — 關(guān)閉游標(biāo),使語句能再次被執(zhí)行。(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0)
說明
語法
bool PDOStatement::closeCursor ( void )
PDOStatement::closeCursor()
釋放到數(shù)據(jù)庫服務(wù)的連接,以便發(fā)出其他 SQL 語句,但使語句處于一個可以被再次執(zhí)行的狀態(tài)。
當(dāng)上一個執(zhí)行的 PDOStatement 對象仍有未取行時,此方法對那些不支持再執(zhí)行一個PDOStatement 對象的數(shù)據(jù)庫驅(qū)動非常有用。 如果數(shù)據(jù)庫驅(qū)動受此限制,則可能出現(xiàn)失序錯誤的問題。
PDOStatement::closeCursor()
要么是一個可選驅(qū)動的特有方法(效率最高)來實現(xiàn),要么是在沒有驅(qū)動特定的功能時作為一般的PDO 備用來實現(xiàn)。一般的備用語義上與下面的 PHP 代碼相同:
?php
do {
while ($stmt->fetch())
;
if (!$stmt->nextRowset())
break;
} while (true);
?>
返回值
成功時返回 TRUE, 或者在失敗時返回 FALSE。
實例
一個PDOStatement::closeCursor()的例子
在下面例子中,$stmt PDOStatement 對象返回多行,但應(yīng)用程序只取第一行,讓 PDOStatement 對象處于一個有未取行的狀態(tài)。為確保應(yīng)用程序?qū)λ袛?shù)據(jù)庫驅(qū)動都能正常運行,在執(zhí)行 $otherStmt PDOStatement 對象前,$stmt 調(diào)用一次 PDOStatement::closeCursor()
。
?php
/* 創(chuàng)建一個 PDOStatement 對象 */
$stmt = $dbh->prepare('SELECT foo FROM bar');
/* 創(chuàng)建第二個 PDOStatement 對象 */
$otherStmt = $dbh->prepare('SELECT foobaz FROM foobar');
/* 執(zhí)行第一條語句 */
$stmt->execute();
/* 從結(jié)果集中只取出第一行 */
$stmt->fetch();
/* The following call to closeCursor() may be required by some drivers */
$stmt->closeCursor();
/* 現(xiàn)在可以執(zhí)行第二條語句了 */
$otherStmt->execute();
?>
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
您可能感興趣的文章:- selenium框架中driver.close()和driver.quit()關(guān)閉瀏覽器
- 詳解Java 中的 AutoCloseable 接口
- 探索瀏覽器頁面關(guān)閉window.close()的使用詳解
- 解決delphi TAdoQuery組件的close方法導(dǎo)致”列名無效“錯誤的問題
- PyQt5 closeEvent關(guān)閉事件退出提示框原理解析
- Python Selenium 之關(guān)閉窗口close與quit的方法
- CLOSE_WAIT狀態(tài)解決方案