Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Hämtar data från det angivna fältet i den aktuella raden. Fältdata måste nås i ordning. Till exempel kan data från det första fältet inte nås efter att data från det andra fältet har åtkoms.
Syntax
sqlsrv_get_field( resource $stmt, int $fieldIndex [, int $getAsType])
Parameters
$stmt: En satsresurs som motsvarar en exekverad sats.
$fieldIndex: Indexet för fältet som ska hämtas. Index börjar vid noll.
$getAsType [VALFRITT]: EN SQLSRV-konstant (SQLSRV_PHPTYPE_*) som bestämmer PHP-datatypen för den returnerade datan. För information om stödda datatyper, se Constants (Microsoft Drivers for PHP for SQL Server). Om ingen returtyp anges returneras en standard PHP-typ. För information om standard-PHP-typer, se Default PHP Data Types. För information om att specificera PHP-datatyper, se Hur man: Specificera PHP-datatyper.
Returvärde
Fältdata. Du kan ange PHP-datatypen för den returnerade datan genom att använda parametern $getAsType . Om ingen returdatatyp anges returneras, returneras standarddatatypen PHP. För information om standard-PHP-typer, se Default PHP Data Types. För information om att specificera PHP-datatyper, se Hur man: Specificera PHP-datatyper.
Remarks
Kombinationen av sqlsrv_fetch och sqlsrv_get_field ger endast framåtriktad åtkomst till data.
Kombinationen av sqlsrv_fetch/sqlsrv_get_field laddar endast ett fält i en resultatuppsättningsrad i skriptminnet och möjliggör specifikation av PHP:s returtyp. (För information om hur man specificerar PHP-returtypen, se Hur man: Specificera PHP-datatyper.) Denna kombination av funktioner gör det också möjligt att hämta data som en ström. (För information om att hämta data som en ström, se Hämta data som en ström med hjälp av SQLSRV-drivrutinen.)
Example
Följande exempel hämtar en rad data som innehåller en produktrecension och recensentens namn. För att hämta data från resultatuppsättningen används sqlsrv_get_field . Exemplet förutsätter att SQL Server och AdventureWorks-databasen är installerade på den lokala datorn. Alla utdata skrivs till konsolen när exemplet körs från kommandoraden.
<?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);
?>