(沒有版本資訊,可能只在 Git 中)
sqlsrv_fetch — 讓結果集中的下一列可供讀取
讓結果集中的下一列可供讀取。使用 sqlsrv_get_field() 來讀取該列的欄位。
stmt
透過執行 sqlsrv_query() 或 sqlsrv_execute() 所建立的陳述式資源。
row(列)
要存取的列。此參數僅能在指定的陳述式以可捲動的游標準備時使用。在這種情況下,此參數可以採用以下值之一:
offset(偏移量)
如果 row 參數設定為 SQLSRV_SCROLL_ABSOLUTE
或 SQLSRV_SCROLL_RELATIVE
,則指定要存取的列。請注意,結果集中第一列的索引為 0。
範例 #1 sqlsrv_fetch() 範例
以下範例示範如何使用 sqlsrv_fetch() 擷取列,並使用 sqlsrv_get_field() 取得列欄位。
<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}
$sql = "SELECT Name, Comment
FROM Table_1
WHERE ReviewID=1";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
die( print_r( sqlsrv_errors(), true));
}
// 將結果集的第一列(在此例中,也是唯一一列)設為可讀取。
if( sqlsrv_fetch( $stmt ) === false) {
die( print_r( sqlsrv_errors(), true));
}
// 取得列欄位。欄位索引從 0 開始,且必須按順序擷取。
// sqlsrv_get_field 不支援透過名稱擷取列欄位。
$name = sqlsrv_get_field( $stmt, 0);
echo "$name: ";
$comment = sqlsrv_get_field( $stmt, 1);
echo $comment;
?>