PDOStatement ::続くcloseCursor
PDOStatement ::続くcloseCursor - 文が再び実行できるように、カーソルを閉じます。 (PHP 5> = 5.1.0、PECLのpdo> = 0.9.0)
説明
文法
bool PDOStatement::closeCursor ( void )
PDOStatement ::続くcloseCursor()は、他のSQL文を送信するが、再び実行可能な状態で文を作るために、データベース・サービスへの接続を解放します。
実行時にはPDOStatementオブジェクトがまだ行を取っていない、この方法では、PDOStatementオブジェクトデータベースの再実装をサポートしていないドライバーのために非常に有用です。 データベースドライバはそれだけには限定されている場合、障害は間違った質問を表示されることがあります。
オプションのドライブ(最も効率的な)は、一般的なPDOのスペアとして特定の機能を実現するために、いずれかのドライブが存在しない場合に達成するのいずれかに固有のPDOStatement ::続くcloseCursor()メソッド。 次のPHPコードと同じ意味一般的なスペア:
<?php do { while ($stmt->fetch()) ; if (!$stmt->nextRowset()) break; } while (true); ?>
戻り値
TRUE、失敗した場合に正常に戻っはFALSEを返します。
例
PDOStatement ::続くcloseCursor()の例
次の例では、$ stmtはのPDOStatementオブジェクトは、複数の行を返しますが、PDOStatementオブジェクトが行を取らない状態にあるように、アプリケーションは、最初の行だけを取ります。 アプリケーションは、すべてのデータベース駆動型、をPDOStatementオブジェクトの前に$ otherStmtを実行し、PDOStatementに一度と呼ばれるの$ stmtは上で適切に実行できるようにするには::続く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(); ?>