PDOStatement::fetch — Mendapatkan baris berikutnya dari kumpulan hasil (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
campuran PDOStatement::fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )
Mendapatkan baris berikutnya dari kumpulan hasil yang terkait dengan objek PDOStatement. Parameter ambil_gaya menentukan bagaimana POD mengembalikan baris.
ambil_gaya
Mengontrol bagaimana saluran berikutnya dikembalikan ke pemanggil. Nilai ini harus berupa salah satu rangkaian konstanta PDO::FETCH_*, dan nilai defaultnya adalah nilai PDO::ATTR_DEFAULT_FETCH_MODE (defaultnya adalah PDO::FETCH_BOTH).
PDO::FETCH_ASSOC : Mengembalikan array yang diindeks berdasarkan nama kolom kumpulan hasil
PDO::FETCH_BOTH (default): Mengembalikan array yang diindeks berdasarkan nama kolom kumpulan hasil dan nomor kolom yang dimulai dengan 0
PDO::FETCH_BOUND : Mengembalikan TRUE
dan menetapkan nilai kolom dalam kumpulan hasil ke variabel PHP yang diikat oleh metode PDOStatement::bindColumn().
PDO::FETCH_CLASS : Mengembalikan instance baru dari kelas yang diminta, memetakan nama kolom di kumpulan hasil ke nama atribut yang sesuai di kelas. Jika fetch_style
berisi PDO::FETCH_CLASSTYPE (misalnya: PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE ), nama kelas ditentukan oleh nilai kolom pertama
PDO::FETCH_INTO : Memperbarui instance kelas yang diminta, memetakan kolom di kumpulan hasil ke atribut yang disebutkan dalam kelas
PDO::FETCH_LAZY : Gunakan kombinasi PDO::FETCH_BOTH dan PDO::FETCH_OBJ untuk membuat nama variabel objek untuk akses
PDO::FETCH_NUM : Mengembalikan array yang diindeks ke nomor kolom kumpulan hasil yang dimulai dengan 0
PDO::FETCH_OBJ : Mengembalikan objek anonim yang nama atributnya sesuai dengan nama kolom kumpulan hasil
kursor_orientasi Untuk kursor yang dapat digulir yang diwakili oleh objek PDOStatement, nilai ini menentukan baris mana yang akan dikembalikan ke pemanggil. Nilai ini harus berupa salah satu rangkaian konstanta PDO::FETCH_ORI_*, dan nilai defaultnya adalah PDO::FETCH_ORI_NEXT. Untuk membuat objek PDOStatement menggunakan kursor yang dapat digulir, Anda harus mengatur atribut PDO::ATTR_CURSOR ke PDO::CURSOR_SCROLL saat menggunakan PDO::prepare() untuk menyiapkan pernyataan SQL.
offsetUntuk kursor yang dapat digulir yang diwakili oleh objek PDOStatement dengan parameter kursor_orientasi diatur ke PDO::FETCH_ORI_ABS, nilai ini menentukan nomor baris absolut dari baris dalam kumpulan hasil yang akan diambil. Untuk kursor yang dapat digulir yang diwakili oleh objek PDOStatement dengan parameter kursor_orientasi diatur ke PDO::FETCH_ORI_REL, nilai ini menentukan posisi baris yang akan diambil relatif terhadap kursor sebelum memanggil PDOStatement::fetch()
Nilai yang dikembalikan oleh fungsi (metode) ini jika berhasil bergantung pada jenis ekstraksi. Dalam semua kasus, kegagalan menghasilkan FALSE.
<?php$sth = $dbh->prepare("PILIH nama, warna DARI buah");$sth->execute();/* Gunakan PDOStatement::fetch style*/print("PDO::FETCH_ASSOC: ") ;print("Kembalikan baris berikutnya sebagai array yang diindeks berdasarkan nama kolomn");$hasil = $sth->fetch(PDO::FETCH_ASSOC);print_r($result);print("n");print("PDO::FETCH_BOTH: ");print("Kembalikan baris berikutnya sebagai array yang diindeks oleh kedua kolom nama dan nomorn");$hasil = $sth->fetch(PDO::FETCH_BOTH);print_r($result);print("n");print("PDO::FETCH_LAZY: ");print("Kembalikan baris berikutnya sebagai objek anonim dengan nama kolom sebagai propertin");$hasil = $sth->fetch(PDO::FETCH_LAZY);print_r($result);print("n");print("PDO::FETCH_OBJ: ");print("Kembalikan baris berikutnya sebagai objek anonim dengan nama kolom sebagai propertin");$hasil = $sth->fetch(PDO::FETCH_OBJ);print $hasil->NAMA;cetak("n");?>
Contoh di atas akan menampilkan:
PDO::FETCH_ASSOC: Kembalikan baris berikutnya sebagai larik yang diindeks berdasarkan kolom nameArray( [NAMA] => apel [WARNA] => merah)PDO::FETCH_BOTH: Kembalikan baris berikutnya sebagai larik yang diindeks oleh nama kolom dan nomorArray( [NAMA ] => pisang [0] => pisang [WARNA] => kuning [1] => kuning)PDO::FETCH_LAZY: Kembalikan baris berikutnya sebagai objek anonim dengan nama kolom sebagai propertiPDORow Object( [NAMA] => oranye [WARNA] => oranye)PDO::FETCH_OBJ: Kembalikan baris berikutnya sebagai objek anonim dengan nama kolom sebagai propertikiwi
<?phpfunction readDataForwards($dbh) { $sql = 'PILIH tangan, menang, bertaruh DARI nomor saya ORDER BY BET'; coba { $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO: :CURSOR_SCROLL)); $stmt->eksekusi(); sementara ($baris = $stmt->mengambil(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) { $data = $baris[0] . n"; print $data; } $stmt = null; } catch (PDOException $e) { print $e->getMessage(); }}fungsi readDataBackwards($dbh) { $sql = 'PILIH tangan, menang, bertaruh DARI nomor saya ORDER BY taruhan'; coba { $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL) ); $stmt->eksekusi(); $baris = $stmt->mengambil(PDO::FETCH_NUM, PDO::FETCH_ORI_LAST); melakukan { $data = $baris[0] . "n"; cetak $data; } sementara ($baris = $stmt->ambil(PDO::FETCH_NUM, PDO::FETCH_ORI_PRIOR)); $stmt = null; } catch (PDOException $e) { print $e->getMessage();print "Membaca ke depan:n";readDataForwards($conn);print "Membaca ke belakang :n";readDataBackwards($sambungan);?>
Contoh di atas akan menampilkan:
Membaca maju:21 10 516 0 519 20 10Membaca mundur:19 20 1016 0 521 10 5