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 일단라는 모든 데이터베이스 기반 PDOStatement 객체 전에 $ otherStmt을 실행, $ 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(); ?>