Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Извлекает данные из указанного поля текущей строки. Доступ к данным полей должен осуществляться в определенном порядке. Например, данные из первого поля становятся недоступными после доступа к данным из второго поля.
Синтаксис
sqlsrv_get_field( resource $stmt, int $fieldIndex [, int $getAsType])
Параметры
$stmt: ресурс инструкции, соответствующий выполненной инструкции.
$fieldIndex: Индекс поля для извлечения. Индексы отсчитываются с нуля.
$getAsType [необязательный]: константа SQLSRV (SQLSRV_PHPTYPE_*), определяющая тип данных PHP для возвращаемых данных. Сведения о поддерживаемых типах данных см. в статье Константы (драйверы Майкрософт для PHP для SQL Server). Если тип возвращаемого значения не указан, возвращается тип PHP по умолчанию. Дополнительные сведения о типах PHP см. в статье Default PHP Data Types. Дополнительные сведения об указании типов данных PHP см. в статье How to: Specify PHP Data Types.
Возвращаемое значение
Данные поля. Можно указать тип данных PHP для возвращаемых данных с помощью параметра $getAsType . Если тип возвращаемых данных не указан, возвращается тип данных PHP по умолчанию. Дополнительные сведения о типах PHP см. в статье Default PHP Data Types. Дополнительные сведения об указании типов данных PHP см. в статье How to: Specify PHP Data Types.
Замечания
Сочетание sqlsrv_fetch и sqlsrv_get_field предоставляет последовательный доступ к данным.
Сочетание sqlsrv_fetch/sqlsrv_get_field загружает только одно поле результирующего набора строк в память скрипта и позволяет указать тип возвращаемого значения PHP. (Сведения о том, как указать тип возвращаемого значения PHP, см. в разделе Практическое руководство. Указание типов данных PHP.) Это сочетание функций также позволяет извлекать данные в виде потока. (Сведения о получении данных в виде потока в см. в статье Извлечение данных в виде потока с помощью драйвера SQLSRV.)
Пример
Следующий пример извлекает строку данных, содержащую обзор продукта и имя автора обзора. Для получения данных из результирующего набора используется sqlsrv_get_field. В примере предполагается, что SQL Server и базы данных AdventureWorks установлены на локальном компьютере. При выполнении примера из командной строки все выходные данные выводятся в консоль.
<?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);
?>