Bagikan melalui


PDOStatement::fetch

Unduh driver PHP

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 digulirkan.

$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 false.

Keterangan

Kursor secara otomatis dimajukan ketika 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 Merefresh 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 tataan hasil) dan jika kursor hanya diteruskan (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 untuk PHP versi 2.0 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" );  
?>  

Lihat juga

Kelas PDOStatement

PDO