Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mengambil baris dari kumpulan hasil.
Sintaks
mixed PDOStatement::fetch ([ $fetch_style[, $cursor_orientation[, $cursor_offset]]] );
Parameter
$fetch_style: Simbol opsional (bilangan bulat) yang menentukan format data baris. Lihat bagian Keterangan untuk daftar nilai yang mungkin untuk $fetch_style. Defaultnya adalah PDO::FETCH_BOTH. $ fetch_style dalam metode pengambilan akan mengambil alih $fetch_style yang ditentukan dalam metode PDO::query.
$cursor_orientation: Simbol opsional (bilangan bulat) yang menunjukkan baris untuk diambil saat pernyataan persiapan menentukan PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL
. Lihat bagian Keterangan untuk daftar nilai yang mungkin untuk $cursor_orientation. Lihat PDO::p repare untuk sampel menggunakan kursor yang dapat digulir.
$cursor_offset: Simbol opsional (bilangan bulat) yang menentukan baris yang akan diambil ketika $cursor_orientation adalah PDO::FETCH_ORI_ABS atau PDO::FETCH_ORI_REL dan PDO::ATTR_CURSOR adalah PDO::CURSOR_SCROLL.
Tampilkan Nilai
Nilai campuran yang mengembalikan baris atau salah.
Keterangan
Kursor secara otomatis dimajukan saat pengambilan dipanggil. Tabel berikut berisi daftar kemungkinan nilai $fetch_style .
$fetch_style | Deskripsi |
---|---|
PDO::FETCH_ASSOC | Menentukan array yang diindeks menurut nama kolom. |
PDO::FETCH_BOTH | Menentukan array yang diindeks berdasarkan nama kolom dan urutan berbasis 0. Ini adalah default. |
PDO::FETCH_BOUND | Mengembalikan true dan menetapkan nilai seperti yang ditentukan oleh PDOStatement::bindColumn. |
PDO::FETCH_CLASS | Membuat instans dan memetakan kolom ke properti bernama. Panggil PDOStatement::setFetchMode sebelum memanggil ambil. |
PDO::FETCH_INTO | Menyegarkan instans kelas yang diminta. Panggil PDOStatement::setFetchMode sebelum memanggil ambil. |
PDO::FETCH_LAZY | Membuat nama variabel selama akses dan membuat objek yang tidak disebutkan namanya. |
PDO::FETCH_NUM | Menentukan array yang diindeks oleh urutan kolom berbasis nol. |
PDO::FETCH_OBJ | Menentukan objek yang tidak disebutkan namanya dengan nama properti yang memetakan ke nama kolom. |
Jika kursor berada di akhir kumpulan hasil (baris terakhir telah diambil dan kursor telah maju melewati batas kumpulan hasil) dan jika kursor hanya-terusan (PDO::ATTR_CURSOR = PDO::CURSOR_FWDONLY), panggilan pengambilan berikutnya akan gagal.
Jika kursor dapat digulir (PDO::ATTR_CURSOR = PDO::CURSOR_SCROLL), ambil akan memindahkan kursor dalam batas tataan hasil. Tabel berikut berisi daftar kemungkinan nilai $cursor_orientation .
$cursor_orientation | Deskripsi |
---|---|
PDO::FETCH_ORI_NEXT | Mengambil baris berikutnya. Ini adalah default. |
PDO::FETCH_ORI_PRIOR | Mengambil baris sebelumnya. |
PDO::FETCH_ORI_FIRST | Mengambil baris pertama. |
PDO::FETCH_ORI_LAST | Mengambil baris terakhir. |
PDO::FETCH_ORI_ABS, num | Mengambil baris yang diminta dalam $cursor_offset menurut nomor baris. |
PDO::FETCH_ORI_REL, num | Mengambil baris yang diminta dalam $cursor_offset berdasarkan posisi relatif dari posisi saat ini. |
Jika nilai yang ditentukan untuk $cursor_offset atau $cursor_orientation menghasilkan posisi di luar batas tataan hasil, pengambilan akan gagal.
Dukungan untuk PDO ditambahkan di Driver Microsoft versi 2.0 untuk PHP untuk SQL Server.
Contoh
<?php
$server = "(local)";
$database = "AdventureWorks";
$conn = new PDO( "sqlsrv:server=$server ; Database = $database", "", "");
print( "\n---------- PDO::FETCH_CLASS -------------\n" );
$stmt = $conn->query( "select * from HumanResources.Department order by GroupName" );
class cc {
function __construct( $arg ) {
echo "$arg";
}
function __toString() {
return $this->DepartmentID . "; " . $this->Name . "; " . $this->GroupName;
}
}
$stmt->setFetchMode(PDO::FETCH_CLASS, 'cc', array( "arg1 " ));
while ( $row = $stmt->fetch(PDO::FETCH_CLASS)) {
print($row . "\n");
}
print( "\n---------- PDO::FETCH_INTO -------------\n" );
$stmt = $conn->query( "select * from HumanResources.Department order by GroupName" );
$c_obj = new cc( '' );
$stmt->setFetchMode(PDO::FETCH_INTO, $c_obj);
while ( $row = $stmt->fetch(PDO::FETCH_INTO)) {
echo "$c_obj\n";
}
print( "\n---------- PDO::FETCH_ASSOC -------------\n" );
$stmt = $conn->query( "select * from Person.ContactType where ContactTypeID < 5 " );
$result = $stmt->fetch( PDO::FETCH_ASSOC );
print_r( $result );
print( "\n---------- PDO::FETCH_NUM -------------\n" );
$stmt = $conn->query( "select * from Person.ContactType where ContactTypeID < 5 " );
$result = $stmt->fetch( PDO::FETCH_NUM );
print_r ($result );
print( "\n---------- PDO::FETCH_BOTH -------------\n" );
$stmt = $conn->query( "select * from Person.ContactType where ContactTypeID < 5 " );
$result = $stmt->fetch( PDO::FETCH_BOTH );
print_r( $result );
print( "\n---------- PDO::FETCH_LAZY -------------\n" );
$stmt = $conn->query( "select * from Person.ContactType where ContactTypeID < 5 " );
$result = $stmt->fetch( PDO::FETCH_LAZY );
print_r( $result );
print( "\n---------- PDO::FETCH_OBJ -------------\n" );
$stmt = $conn->query( "select * from Person.ContactType where ContactTypeID < 5 " );
$result = $stmt->fetch( PDO::FETCH_OBJ );
print $result->Name;
print( "\n \n" );
print( "\n---------- PDO::FETCH_BOUND -------------\n" );
$stmt = $conn->query( "select * from Person.ContactType where ContactTypeID < 5 " );
$stmt->bindColumn('Name', $name);
$result = $stmt->fetch( PDO::FETCH_BOUND );
print $name;
print( "\n \n" );
?>