sqlsrv_fetch
Membuat baris berikutnya dari kumpulan hasil tersedia untuk dibaca. Gunakan sqlsrv_get_field untuk membaca bidang baris.
Sintaks
sqlsrv_fetch( resource $stmt[, row[, ]offset])
Parameter
$stmt: Sumber daya pernyataan yang sesuai dengan pernyataan yang dijalankan.
Catatan
Pernyataan harus dijalankan sebelum hasil dapat diambil. Untuk informasi tentang menjalankan pernyataan, lihat sqlsrv_query dan sqlsrv_execute.
row [OPTIONAL]: Salah satu nilai berikut, menentukan baris untuk diakses dalam tataan hasil yang menggunakan kursor yang dapat digulir:
SQLSRV_SCROLL_NEXT
SQLSRV_SCROLL_PRIOR
SQLSRV_SCROLL_FIRST
SQLSRV_SCROLL_LAST
SQLSRV_SCROLL_ABSOLUTE
SQLSRV_SCROLL_RELATIVE
Untuk informasi selengkapnya tentang nilai-nilai ini, lihat Menentukan Jenis Kursor dan Memilih Baris.
offset [OPSIONAL]: Digunakan dengan SQLSRV_SCROLL_ABSOLUTE dan SQLSRV_SCROLL_RELATIVE untuk menentukan baris yang akan diambil. Catatan pertama dalam tataan hasil adalah 0.
Tampilkan Nilai
Jika baris berikutnya dari kumpulan hasil berhasil diambil, true akan dikembalikan. Jika tidak ada lagi hasil dalam tataan hasil, null dikembalikan. Jika terjadi kesalahan, false akan dikembalikan.
Contoh
Contoh berikut menggunakan sqlsrv_fetch untuk mengambil baris data yang berisi ulasan produk dan nama peninjau. Untuk mengambil data dari kumpulan hasil, sqlsrv_get_field digunakan. Contohnya 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 SQL Server type nvarchar. */
$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);
?>