sqlsrv_get_field

Récupère les données du champ spécifié de la ligne actuelle. Les données du champ doivent être accessibles de manière ordonnée. Par exemple, les données du premier champ ne peuvent plus être accessibles après l'accès aux données du second champ.

Syntaxe

sqlsrv_get_field( resource $stmt, int $fieldIndex [, int $getAsType])

Paramètres

$stmt : ressource d'instruction correspondant à une instruction exécutée.

$fieldIndex : index du champ à récupérer. Les index commencent à partir de zéro.

$getAsType [OPTIONNEL] : constante SQLSRV (SQLSRV_PHPTYPE_*) qui détermine le type de données PHP des données retournées. Pour plus d'informations sur les types de données pris en charge, consultez Constantes SQLSRV. Si aucun type de retour n'est spécifié, un type PHP par défaut est retourné. Pour plus d'informations sur les types PHP par défaut, consultez Types de données PHP par défaut. Pour plus d'informations sur la spécification des types de données PHP, consultez Procédure : spécifier les types de données PHP.

Valeur de retour

Données du champ. Vous pouvez spécifier le type de données PHP des données retournées à l'aide du paramètre $getAsType. Si aucun type de données de retour n'est spécifié, le type de données PHP par défaut est retourné. Pour plus d'informations sur les types PHP par défaut, consultez Types de données PHP par défaut. Pour plus d'informations sur la spécification des types de données PHP, consultez Procédure : spécifier les types de données PHP.

Exemple

L'exemple suivant montre comment récupérer une ligne de données contenant un comparatif de produit et l'auteur du comparatif. Pour récupérer les données du jeu de résultats, sqlsrv_get_field est utilisé. L'exemple suppose que SQL Server et la base de données AdventureWorks sont installés sur l'ordinateur local. Toutes les données de sortie sont écrites dans la console lorsque l'exemple est exécuté à partir de la ligne de commande.

<?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);
?>

Voir aussi

Concepts

Comparaison des fonctions de récupération des données
À propos des exemples de code dans la documentation

Autres ressources

Référence de l'API (Pilote SQL Server pour PHP)
Récupération des données