PDOStatement::closeCursor — Menutup kursor sehingga pernyataan dapat dieksekusi kembali. (PHP 5 >= 5.1.0, pdo PECL >= 0.9.0)
bool PDOStatement::closeCursor ( batal )
PDOStatement::closeCursor() melepaskan koneksi ke layanan database sehingga pernyataan SQL lainnya dapat dikeluarkan, namun membiarkan pernyataan tersebut dalam keadaan di mana pernyataan tersebut dapat dieksekusi lagi.
Cara ini sangat berguna untuk driver database yang tidak mendukung eksekusi objek PDOStatement lain ketika masih ada baris yang belum diambil pada objek PDOStatement yang terakhir dieksekusi. Jika driver database tunduk pada batasan ini, kesalahan yang tidak sesuai pesanan mungkin terjadi.
PDOStatement::closeCursor() diimplementasikan sebagai metode khusus driver opsional (yang paling efisien), atau diimplementasikan sebagai fallback PDO umum ketika tidak ada fungsi khusus driver. Semantik fallback secara umum sama dengan kode PHP berikut:
<?phpdo { while ($stmt->fetch()) ; jika (!$stmt->nextRowset()) break;} while (benar);?>
Mengembalikan TRUE jika berhasil, atau FALSE jika gagal.
Dalam contoh berikut, objek PDOStatement $stmt mengembalikan beberapa baris, namun aplikasi hanya mengambil baris pertama, membiarkan objek PDOStatement dalam keadaan tanpa baris yang diambil. Untuk memastikan bahwa aplikasi dapat berjalan normal dengan semua driver database, $stmt memanggil PDOStatement::closeCursor() satu kali sebelum mengeksekusi objek $otherStmt PDOStatement.
<?php/* Buat objek PDOStatement */$stmt = $dbh->prepare('SELECT foo FROM bar');/* Buat objek PDOStatement kedua */$otherStmt = $dbh->prepare('SELECT foobaz FROM foobar');/* Jalankan pernyataan pertama*/$stmt->execute();/* Ambil hanya baris pertama dari kumpulan hasil */$stmt->fetch();/* Panggilan berikut ke closeCursor() mungkin diperlukan oleh beberapa driver */$stmt->closeCursor();/* Sekarang Anda dapat mengeksekusi Pernyataan kedua*/$otherStmt->execute();?>