PDOStatement :: mengambil
PDOStatement :: mengambil - fokus pada hasil yang diperoleh dari baris berikutnya (PHP 5> = 5.1.0, PECL PDO> = 0.1.0)
penjelasan
tatabahasa
mixed PDOStatement::fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )
Dari PDOStatement objek yang terkait hasil set mendapat baris berikutnya. fetch_style POD parameter menentukan bagaimana baris yang dikembalikan.
parameter
fetch_style
Bagaimana mengontrol baris berikutnya dikembalikan ke pemanggil. Nilai ini harus PDO :: FETCH_ * konstanta dalam seri, nilai default untuk PDO :: ATTR_DEFAULT_FETCH_MODE (default PDO :: FETCH_BOTH).
PDO :: FETCH_ASSOC: mengembalikan array diindeks nama kolom dari hasil set
PDO :: FETCH_BOTH (default): mengembalikan hasil indeks array mengatur nama kolom dimulai dengan 0 dan kolom nomor
PDO :: FETCH_BOUND: mengembalikan
TRUE
, variabel PHP dan menempatkan nilai ke kolom dalam hasil set metode PDOStatement :: bindColumn () yang mengikat.PDO :: FETCH_CLASS: permintaan untuk kembali contoh baru dari kelas, nama kolom pemetaan dalam hasil ditetapkan untuk nama kelas dari properti terkait. Jika
fetch_style
berisi PDO :: FETCH_CLASSTYPE (misalnya: PDO :: FETCH_CLASS | PDO :: FETCH_CLASSTYPE ), nama kelas ditentukan oleh nilai kolom pertamaPDO :: FETCH_INTO: Perbarui contoh permintaan kelas yang ada dipetakan ke kolom di properti hasil set kelas bernama
PDO :: FETCH_LAZY: dalam hubungannya dengan PDO :: FETCH_BOTH dan PDO :: FETCH_OBJ, untuk menciptakan sebuah nama variabel objek yang digunakan untuk mengakses
PDO :: FETCH_NUM: kembali ke kolom nomor nol-diindeks dari hasil set array yang
PDO :: FETCH_OBJ: Mengembalikan nama properti yang sesuai dengan hasil ditetapkan nama kolom objek anonim
cursor_orientation
Untuk objek PDOStatement mewakili kursor digulir, nilai ini menentukan baris dikembalikan ke pemanggil. Nilai ini harus PDO :: FETCH_ORI_ * konstanta dalam seri, defaultnya adalah PDO :: FETCH_ORI_NEXT. Untuk mendapatkan PDOStatement objek menggunakan kursor digulir, Anda harus menggunakan saat PDO :: mempersiapkan () pernyataan pretreatment SQL, mengatur PDO :: ATTR_CURSOR atribut PDO :: CURSOR_SCROLL.
mengimbangi
Untuk parameter cursor_orientation diatur ke PDO :: objek PDOStatement mewakili kursor digulir FETCH_ORI_ABS, nilai ini menentukan hasilnya membuat Anda ingin mendapatkan mutlak garis nomor baris.
Untuk parameter cursor_orientation diatur ke PDO :: FETCH_ORI_REL objek PDOStatement mewakili kursor digulir, nilai ini menentukan PDOStatement panggilan :: fetch () sebelum posisi kursor sehubungan dengan garis Anda ingin mendapatkan
Kembali Nilai
Kembali ketika ini fungsi (metode) nilai tergantung pada jenis ekstraksi sukses. Dalam semua kasus, kegagalan kembali FALSE.
contoh
Dapatkan baris dengan metode ekstraksi yang berbeda
<?php $sth = $dbh->prepare("SELECT name, colour FROM fruit"); $sth->execute(); /* 运用 PDOStatement::fetch 风格 */ print("PDO::FETCH_ASSOC: "); print("Return next row as an array indexed by column name\n"); $result = $sth->fetch(PDO::FETCH_ASSOC); print_r($result); print("\n"); print("PDO::FETCH_BOTH: "); print("Return next row as an array indexed by both column name and number\n"); $result = $sth->fetch(PDO::FETCH_BOTH); print_r($result); print("\n"); print("PDO::FETCH_LAZY: "); print("Return next row as an anonymous object with column names as properties\n"); $result = $sth->fetch(PDO::FETCH_LAZY); print_r($result); print("\n"); print("PDO::FETCH_OBJ: "); print("Return next row as an anonymous object with column names as properties\n"); $result = $sth->fetch(PDO::FETCH_OBJ); print $result->NAME; print("\n"); ?>
Contoh di atas akan menampilkan:
PDO::FETCH_ASSOC: Return next row as an array indexed by column name Array ( [NAME] => apple [COLOUR] => red ) PDO::FETCH_BOTH: Return next row as an array indexed by both column name and number Array ( [NAME] => banana [0] => banana [COLOUR] => yellow [1] => yellow ) PDO::FETCH_LAZY: Return next row as an anonymous object with column names as properties PDORow Object ( [NAME] => orange [COLOUR] => orange ) PDO::FETCH_OBJ: Return next row as an anonymous object with column names as properties kiwi
Gunakan kursor digulir mengambil baris
<?php function readDataForwards($dbh) { $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY BET'; try { $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL)); $stmt->execute(); while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) { $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n"; print $data; } $stmt = null; } catch (PDOException $e) { print $e->getMessage(); } } function readDataBackwards($dbh) { $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY bet'; try { $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL)); $stmt->execute(); $row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_LAST); do { $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n"; print $data; } while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_PRIOR)); $stmt = null; } catch (PDOException $e) { print $e->getMessage(); } } print "Reading forwards:\n"; readDataForwards($conn); print "Reading backwards:\n"; readDataBackwards($conn); ?>
Contoh di atas akan menampilkan:
Reading forwards: 21 10 5 16 0 5 19 20 10 Reading backwards: 19 20 10 16 0 5 21 10 5