sqlsrv_get_field
Mengambil data dari bidang yang ditentukan dari baris saat ini. Data bidang harus diakses secara berurutan. Misalnya, data dari bidang pertama tidak dapat diakses setelah data dari bidang kedua diakses.
Sintaks
sqlsrv_get_field( resource $stmt, int $fieldIndex [, int $getAsType])
Parameter
$stmt: Sumber daya pernyataan yang sesuai dengan pernyataan yang dijalankan.
$fieldIndex: Indeks bidang yang akan diambil. Indeks dimulai pada nol.
$getAsType [OPSIONAL]: Konstanta SQLSRV (SQLSRV_PHPTYPE_*) yang menentukan jenis data PHP untuk data yang dikembalikan. Untuk informasi tentang jenis data yang didukung, lihat Konstanta (Driver Microsoft untuk PHP untuk SQL Server). Jika tidak ada jenis pengembalian yang ditentukan, jenis PHP default akan dikembalikan. Untuk informasi tentang jenis PHP default, lihat Jenis Data PHP Default. Untuk informasi tentang menentukan jenis data PHP, lihat Cara: Menentukan Jenis Data PHP.
Tampilkan Nilai
Data bidang. Anda dapat menentukan jenis data PHP dari data yang dikembalikan dengan menggunakan parameter $getAsType . Jika tidak ada jenis data pengembalian yang ditentukan, jenis data PHP default akan dikembalikan. Untuk informasi tentang jenis PHP default, lihat Jenis Data PHP Default. Untuk informasi tentang menentukan jenis data PHP, lihat Cara: Menentukan Jenis Data PHP.
Keterangan
Kombinasi sqlsrv_fetch dan sqlsrv_get_field menyediakan akses khusus ke data.
Kombinasi sqlsrv_fetch/sqlsrv_get_field hanya memuat satu bidang dari baris tataan hasil ke dalam memori skrip dan memungkinkan spesifikasi jenis pengembalian PHP. (Untuk informasi tentang cara menentukan jenis pengembalian PHP, lihat Cara: Tentukan Jenis Data PHP.) Kombinasi fungsi ini juga memungkinkan data diambil sebagai aliran. (Untuk informasi tentang mengambil data sebagai aliran, lihat Mengambil Data sebagai Aliran Menggunakan Driver SQLSRV.)
Contoh
Contoh berikut mengambil baris data yang berisi tinjauan produk dan nama peninjau. Untuk mengambil data dari kumpulan hasil, sqlsrv_get_field digunakan. Contoh mengasumsikan bahwa SQL Server dan database AdventureWorks diinstal di komputer lokal. Semua output ditulis ke konsol saat contoh dijalankan dari baris perintah.
<?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);
?>