PHP Conference Japan 2024

sqlsrv_fetch

(沒有版本資訊,可能只在 Git 中)

sqlsrv_fetch讓結果集中的下一列可供讀取

說明

sqlsrv_fetch(資源 $stmt, 整數 $row = ?, 整數 $offset = ?): 混合

讓結果集中的下一列可供讀取。使用 sqlsrv_get_field() 來讀取該列的欄位。

參數

stmt

透過執行 sqlsrv_query()sqlsrv_execute() 所建立的陳述式資源。

row(列)

要存取的列。此參數僅能在指定的陳述式以可捲動的游標準備時使用。在這種情況下,此參數可以採用以下值之一:

  • SQLSRV_SCROLL_NEXT
  • SQLSRV_SCROLL_PRIOR
  • SQLSRV_SCROLL_FIRST
  • SQLSRV_SCROLL_LAST
  • SQLSRV_SCROLL_ABSOLUTE
  • SQLSRV_SCROLL_RELATIVE

offset(偏移量)

如果 row 參數設定為 SQLSRV_SCROLL_ABSOLUTESQLSRV_SCROLL_RELATIVE,則指定要存取的列。請注意,結果集中第一列的索引為 0。

傳回值

如果成功擷取結果集的下一列,則傳回 true;如果發生錯誤,則傳回 false;如果結果集中沒有更多列,則傳回 null

範例

範例 #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;
?>

另請參閱

新增註解

使用者貢獻的註解

此頁面沒有使用者貢獻的註解。
To Top