Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Získá data ze specifikovaného pole aktuálního řádku. Terénní data musí být přístupná v pořadí. Například data z prvního pole nelze získat poté, co jsou data z druhého pole přístupná.
Syntax
sqlsrv_get_field( resource $stmt, int $fieldIndex [, int $getAsType])
Parametry
$stmt: Zdroj příkazu odpovídající vykonanému příkazu.
$fieldIndex: Index pole, které má být získáno. Indexy začínají na nule.
$getAsType [VOLITELNÉ]: SQLSRV konstanta (SQLSRV_PHPTYPE_*), která určuje typ dat v PHP pro vrácená data. Pro informace o podporovaných datových typech viz Konstanty (Microsoft Drivers for PHP for SQL Server). Pokud není zadán žádný typ návratu, vrátí se výchozí typ PHP. Pro informace o výchozích typech PHP viz Výchozí PHP datové typy. Pro informace o specifikaci datových typů PHP viz Jak specifikovat: Specifikovat PHP datové typy.
Návratová hodnota
Terénní data. Typ dat v PHP můžete zadat pomocí parametru $getAsType . Pokud není zadán žádný typ vrácených dat, vrátí se výchozí typ dat PHP. Pro informace o výchozích typech PHP viz Výchozí PHP datové typy. Pro informace o specifikaci datových typů PHP viz Jak specifikovat: Specifikovat PHP datové typy.
Remarks
Kombinace sqlsrv_fetch a sqlsrv_get_field umožňuje přístup k datům pouze dopředu.
Kombinace sqlsrv_fetch/sqlsrv_get_field načítá do paměti skriptů pouze jedno pole řádku výsledkové sady a umožňuje specifikaci typu návratu v PHP. (Pro informace o tom, jak specifikovat typ návratu v PHP, viz Jak specifikovat: Specifikovat PHP datové typy.) Tato kombinace funkcí také umožňuje získávat data jako tok. (Pro informace o získávání dat jako proudu viz Získávání dat jako proudu pomocí ovladače SQLSRV.)
Example
Následující příklad získává řádek dat, který obsahuje recenzi produktu a jméno recenzenta. Pro získání dat z výsledné množiny se používá sqlsrv_get_field . Příklad předpokládá, že SQL Server a databáze AdventureWorks jsou nainstalovány v místním počítači. Při spuštění příkladu z příkazového řádku se veškerý výstup zapíše do konzoly.
<?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);
?>