11111

PDOStatement::closeCursor

Пред.

След.

PDOStatement::closeCursor

(no version information, might be only in CVS)PDOStatement::closeCursor --

Closes the cursor, enabling the statement to be executed again.

Описание

bool PDOStatement::closeCursor (void)

Внимание

-Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ.

Поведение этой функции, ее имя и относящаяся к ней документация

могут измениться в последующих версиях PHP без уведомления.

Используйте эту функцию на свой страх и риск.

- PDOStatement::closeCursor() frees up the connection

to the server so that other SQL statements may be issued, but leaves the

statement in a state that enables it to be executed again.

- This method is useful for database drivers that do not support executing

a PDOStatement object when a previously executed PDOStatement object still

has unfetched rows. If your database driver suffers from this limitation,

the problem may manifest itself in an out-of-sequence error.

- PDOStatement::closeCursor() is implemented either as an

optional driver specific method (allowing for maximum efficiency), or as

the generic PDO fallback if no driver specific function is installed.

The PDO generic fallback is semantically the same as writing the following

code in your PHP script:

<?php

do {

while ($stmt->fetch())

;

if (!$stmt->nextRowset())

break;

} while (true);

?>

Примеры

-

Пример 1. A PDOStatement::closeCursor() example

- In the following example, the $stmt PDOStatement

object returns multiple rows but the application fetches only the first

row, leaving the PDOStatement object in a state of having unfetched rows.

To ensure that the application will work with all database drivers, the

author inserts a call to PDOStatement::closeCursor()

on $stmt before executing the

$otherStmt PDOStatement object.

<?php

// Create a PDOStatement object

$stmt = $dbh->prepare('SELECT foo FROM bar');

// Create a second PDOStatement object

$stmt = $dbh->prepare('SELECT foobaz FROM foobar');

// Execute the first statement

$stmt->execute();

// Fetch only the first row from the results

$stmt->fetch();

// The following call to closeCursor() may be required by some drivers

$stmt->closeCursor();

// Now we can execute the second statement

$otherStmt->execute();

?>

Смотрите также

-

PDOStatement::execute()

Пред.

Начало

След.

PDOStatement::bindParam

Уровень выше

PDOStatement::columnCount 22222

Free Web Hosting