sqlsrv_get_field (alan verisini alma işlevi)

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

Mevcut satırın belirtilen alanından veri alır. Saha verilerine sırayla erişilmelidir. Örneğin, ikinci alandan gelen verilere erişildikten sonra ilk alandan gelen verilere erişilmez.

Syntax

sqlsrv_get_field( resource $stmt, int $fieldIndex [, int $getAsType])  

Parametreler

$stmt: Yürütülmüş bir ifadeye karşılık gelen bir ifade kaynağı.

$fieldIndex: Alınacak alanın indeksi. İndeksler sıfırdan başlar.

$getAsType [ISTEĞE BAĞLI]: Geri dönen veri için PHP veri tipini belirleyen bir sqlsrv sabiti (SQLSRV_PHPTYPE_*). Desteklenen veri türleri hakkında bilgi için Constants (Microsoft Drivers for PHP for SQL Server) bölümüne bakınız. Eğer dövüş türü belirtilmemişse, varsayılan bir PHP tipi döndürülür. Varsayılan PHP tipleri hakkında bilgi için Varsayılan PHP Veri Türleri sayfasına bakınız. PHP veri tiplerini belirleme hakkında bilgi için bkz. Nasıl yapılır: PHP Veri Tiplerini Belirt.

Dönüş Değeri

Saha verileri. Geri dönen verinin PHP veri tipini $getAsType parametresini kullanarak belirleyebilirsiniz. Eğer döndürme veri tipi belirtilmemişse, varsayılan PHP veri tipi geri döner. Varsayılan PHP tipleri hakkında bilgi için Varsayılan PHP Veri Türleri sayfasına bakınız. PHP veri tiplerini belirleme hakkında bilgi için bkz. Nasıl yapılır: PHP Veri Tiplerini Belirt.

Remarks

sqlsrv_fetch ve sqlsrv_get_field kombinasyonu, veriye yalnızca ileri erişim sağlar.

sqlsrv_fetch/sqlsrv_get_field kombinasyonu, bir sonuç kümesi satırının yalnızca bir alanını script belleğe yükler ve PHP dönüş tipi belirtimine izin verir. (PHP dönüş tipini nasıl belirteceği hakkında bilgi için bkz. How to: Specify PHP Data Types.) Bu fonksiyon kombinasyonu, verilerin bir akış olarak alınmasına da olanak tanır. (Veri akışı olarak alınması hakkında bilgi için bkz. SQLSRV Sürücüsünü Kullanarak Veri Akışı Olarak Alınması.)

Example

Aşağıdaki örnek, bir ürün incelemesi ve inceleyicinin adını içeren bir veri satırını alır. Sonuç kümesinden veri almak için sqlsrv_get_field kullanılır. Örnekte SQL Server ve AdventureWorks veritabanının yerel bilgisayarda yüklü olduğu varsayılır. Örnek komut satırından çalıştırıldığında tüm çıkış konsola yazılır.

<?php  
/*Connect to the local server using Windows Authentication and  
specify the AdventureWorks database as the database in use. */  
$serverName = "(local)";  
$connectionInfo = array( "Database"=>"AdventureWorks");  
$conn = sqlsrv_connect( $serverName, $connectionInfo);  
if( $conn === false )  
{  
     echo "Could not connect.\n";  
     die( print_r( sqlsrv_errors(), true));  
}  
  
/* Set up and execute the query. Note that both ReviewerName and  
Comments are of the SQL Server nvarchar type. */  
$tsql = "SELECT ReviewerName, Comments   
         FROM Production.ProductReview  
         WHERE ProductReviewID=1";  
$stmt = sqlsrv_query( $conn, $tsql);  
if( $stmt === false )  
{  
     echo "Error in statement preparation/execution.\n";  
     die( print_r( sqlsrv_errors(), true));  
}  
  
/* Make the first row of the result set available for reading. */  
if( sqlsrv_fetch( $stmt ) === false )  
{  
     echo "Error in retrieving row.\n";  
     die( print_r( sqlsrv_errors(), true));  
}  
  
/* Note: Fields must be accessed in order.  
Get the first field of the row. Note that no return type is  
specified. Data will be returned as a string, the default for  
a field of type nvarchar.*/  
$name = sqlsrv_get_field( $stmt, 0);  
echo "$name: ";  
  
/*Get the second field of the row as a stream.  
Because the default return type for a nvarchar field is a  
string, the return type must be specified as a stream. */  
$stream = sqlsrv_get_field( $stmt, 1,   
                            SQLSRV_PHPTYPE_STREAM( SQLSRV_ENC_CHAR));  
while( !feof( $stream))  
{   
    $str = fread( $stream, 10000);  
    echo $str;  
}  
  
/* Free the statement and connection resources. */  
sqlsrv_free_stmt( $stmt);  
sqlsrv_close( $conn);  
?>