PDOStatement::fetch

PHP sürücüsünü indirme

Bir sonuç kümesinden bir satır alır.

Syntax

  
mixed PDOStatement::fetch ([ $fetch_style[, $cursor_orientation[, $cursor_offset]]] );  

Parametreler

$ fetch_style: Satır verisinin formatını belirten isteğe bağlı (tamsayı) bir sembol. $fetch_style için olası değerlerin listesi için Yorumlar bölümüne bakınız. Varsayılan PDO::FETCH_BOTH. $ Fetch yöntemindeki fetch_style , PDO::query yönteminde belirtilen $fetch_style değerini geçersiz kılacaktır.

$ cursor_orientation: prepare ifadesi PDO::ATTR_CURSOR => PDO::CURSOR_SCROLLbelirttiğinde alınacak satırı gösteren isteğe bağlı (tam sayı) bir sembol. $cursor_orientation için olası değerlerin listesi için Yorumlar bölümüne bakınız. Kaydırılabilir bir imleç kullanarak örnek için PDO::p repare sayfasına bakınız.

$ cursor_offset: $cursor_orientation ya PDO::FETCH_ORI_ABS ya da PDO::FETCH_ORI_REL ve PDO::ATTR_CURSOR PDO::CURSOR_SCROLL olduğunda getirilecek satırı belirten isteğe bağlı (tam sayı) bir sembol.

Dönüş Değeri

Bir satır veya yanlış döndüren karışık bir değer.

Remarks

Fetch çağrıldığında imleç otomatik olarak ilerler. Aşağıdaki tablo olası $fetch_style değerlerinin listesini içermektedir.

$ fetch_style Description
PDO::FETCH_ASSOC Sütun adıyla indekslenen bir dizi belirtir.
PDO::FETCH_BOTH Sütun adı ve 0 tabanlı sırayla indekslenen bir dizi belirtir. Bu varsayılan seçenektir.
PDO::FETCH_BOUND Doğru döndürür ve PDOStatement::bindColumn tarafından belirtildiği değerleri atar.
PDO::FETCH_CLASS Bir örnek oluşturur ve sütunları adlandırılmış özelliklere eşler.

Fetch çağırmadan önce PDOStatement::setFetchMode arayın.
PDO::FETCH_INTO İstenen sınıfın bir örneğini yeniler.

Fetch çağırmadan önce PDOStatement::setFetchMode arayın.
PDO::FETCH_LAZY Erişim sırasında değişken isimleri oluşturur ve isimsiz bir nesne oluşturur.
PDO::FETCH_NUM Sıfır tabanlı sütun sırasına göre indekslenen bir diziyi belirtir.
PDO::FETCH_OBJ Sütun adlarına eşlenen özellik adlarına sahip isimsiz bir nesne belirtir.

Eğer imleç sonuç kümesinin sonunda ise (son satır alınmış ve imleç sonuç kümesi sınırını aşmışsa) ve imleç sadece ileri yönlendirilmişse (PDO::ATTR_CURSOR = PDO:::CURSOR_FWDONLY), sonraki getirme çağrıları başarısız olur.

Eğer imleç kaydırılabilirse (PDO::ATTR_CURSOR = PDO::CURSOR_SCROLL), fetch işaretçiyi sonuç kümesi sınırı içinde hareket ettirir. Aşağıdaki tablo, olası $cursor_orientation değerlerinin listesini içerir.

$ cursor_orientation Description
PDO::FETCH_ORI_NEXT Bir sonraki sırayı alıyor. Bu varsayılan seçenektir.
PDO::FETCH_ORI_PRIOR Önceki satırı geri alır.
PDO::FETCH_ORI_FIRST İlk sırayı alıyor.
PDO::FETCH_ORI_LAST Son sırayı alıyor.
PDO::FETCH_ORI_ABS, num Satır numarasına göre $cursor_offset içinde istenen satırı alır.
PDO::FETCH_ORI_REL, num $cursor_offset içinde istenen satırı mevcut konumdan göreceli konuma göre alır.

Eğer $cursor_offset veya $cursor_orientation için belirtilen değer sonuç seti sınırının dışında bir konum yaratırsa, fetch başarısız olur.

PDO desteği, SQL Server için Microsoft Drivers for PHP sürümünün 2.0 sürümünde eklenmiştir.

Example

<?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" );  
?>