PHP PDOStatement::closeCursor講解
PDOStatement::closeCursor
PDOStatement::closeCursor — 關(guān)閉游標(biāo),使語(yǔ)句能再次被執(zhí)行。(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0)
說(shuō)明
語(yǔ)法
bool PDOStatement::closeCursor ( void )
PDOStatement::closeCursor()
釋放到數(shù)據(jù)庫(kù)服務(wù)的連接,以便發(fā)出其他 SQL 語(yǔ)句,但使語(yǔ)句處于一個(gè)可以被再次執(zhí)行的狀態(tài)。
當(dāng)上一個(gè)執(zhí)行的 PDOStatement 對(duì)象仍有未取行時(shí),此方法對(duì)那些不支持再執(zhí)行一個(gè)PDOStatement 對(duì)象的數(shù)據(jù)庫(kù)驅(qū)動(dòng)非常有用。 如果數(shù)據(jù)庫(kù)驅(qū)動(dòng)受此限制,則可能出現(xiàn)失序錯(cuò)誤的問(wèn)題。
PDOStatement::closeCursor()
要么是一個(gè)可選驅(qū)動(dòng)的特有方法(效率最高)來(lái)實(shí)現(xiàn),要么是在沒(méi)有驅(qū)動(dòng)特定的功能時(shí)作為一般的PDO 備用來(lái)實(shí)現(xiàn)。一般的備用語(yǔ)義上與下面的 PHP 代碼相同:
<?php do { while ($stmt->fetch()) ; if (!$stmt->nextRowset()) break; } while (true); ?>
返回值
成功時(shí)返回 TRUE, 或者在失敗時(shí)返回 FALSE。
實(shí)例
一個(gè)PDOStatement::closeCursor()的例子
在下面例子中,$stmt PDOStatement 對(duì)象返回多行,但應(yīng)用程序只取第一行,讓 PDOStatement 對(duì)象處于一個(gè)有未取行的狀態(tài)。為確保應(yīng)用程序?qū)λ袛?shù)據(jù)庫(kù)驅(qū)動(dòng)都能正常運(yùn)行,在執(zhí)行 $otherStmt PDOStatement 對(duì)象前,$stmt 調(diào)用一次 PDOStatement::closeCursor()
。
<?php /* 創(chuàng)建一個(gè) PDOStatement 對(duì)象 */ $stmt = $dbh->prepare('SELECT foo FROM bar'); /* 創(chuàng)建第二個(gè) PDOStatement 對(duì)象 */ $otherStmt = $dbh->prepare('SELECT foobaz FROM foobar'); /* 執(zhí)行第一條語(yǔ)句 */ $stmt->execute(); /* 從結(jié)果集中只取出第一行 */ $stmt->fetch(); /* The following call to closeCursor() may be required by some drivers */ $stmt->closeCursor(); /* 現(xiàn)在可以執(zhí)行第二條語(yǔ)句了 */ $otherStmt->execute(); ?>
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
PHP5與MySQL數(shù)據(jù)庫(kù)操作常用代碼 收集
php最近比較熱門(mén),所以學(xué)習(xí)php的朋友也越來(lái)越多,這里整理下數(shù)據(jù)庫(kù)的一些操作,需要的朋友可以參考下。2010-03-03PHP5中MVC結(jié)構(gòu)學(xué)習(xí)
PHP5中MVC結(jié)構(gòu)學(xué)習(xí)...2006-10-10