sqlsrv_fetch

Télécharger le pilote PHP

Rend la ligne suivante d’un jeu de résultats disponible pour la lecture. Utilisez sqlsrv_get_field pour lire les champs de la ligne.

Syntaxe

  
sqlsrv_fetch( resource $stmt[, row[, ]offset])  

Paramètres

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

Notes

Une instruction doit être exécutée avant que les résultats puissent être récupérés. Pour plus d’informations sur l’exécution d’une instruction, consultez sqlsrv_query et sqlsrv_execute.

ligne [FACULTATIF] : L’une des valeurs suivantes, spécifiant la ligne à laquelle accéder dans un jeu de résultats qui utilise un curseur à défilement :

  • SQLSRV_SCROLL_NEXT

  • SQLSRV_SCROLL_PRIOR

  • SQLSRV_SCROLL_FIRST

  • SQLSRV_SCROLL_LAST

  • SQLSRV_SCROLL_ABSOLUTE

  • SQLSRV_SCROLL_RELATIVE

Pour plus d’informations sur ces valeurs, consultez Spécification d’un type de curseur et sélection de lignes.

décaler [FACULTATIF] : Utilisé avec SQLSRV_SCROLL_ABSOLUTE et SQLSRV_SCROLL_RELATIVE pour spécifier la ligne à récupérer. Le premier enregistrement dans le jeu de résultats est 0.

Valeur de retour

Si la ligne suivante du jeu de résultats a été récupérée avec succès, la valeur true est retournée. S’il n’existe plus aucun résultat dans le jeu de résultats, la valeur null est retournée. Si une erreur s’est produite, la valeur false est retournée.

 Exemple

L’exemple suivant utilise sqlsrv_fetch pour récupérer une ligne de données contenant une évaluation de produit et le nom du réviseur. Pour récupérer les données du jeu de résultats, on utilise sqlsrv_get_field. L’exemple part du principe que SQL Server et la base de données AdventureWorks sont installés sur l’ordinateur local. Toute la sortie est écrite dans la console quand 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 SQL Server type nvarchar. */  
$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

Récupération de données

Informations de référence sur l’API du pilote SQLSRV

À propos des exemples de code dans la documentation