Share via


sqlsrv_rows_affected

Retourne le nombre de lignes modifiées par la dernière instruction exécutée. Cette fonction ne retourne pas le nombre de lignes retournées par une instruction SELECT.

Syntaxe

sqlsrv_rows_affected( resource $stmt)

Paramètres

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

Valeur de retour

Entier indiquant le nombre de lignes modifiées par la dernière instruction exécutée. Si aucune ligne n'a été modifiée, la valeur zéro (0) est retournée. Si aucune information sur le nombre de lignes modifiées n'est disponible, une valeur négative égale à moins un (-1) est retournée. Si une erreur s'est produite lors de la récupération du nombre de lignes modifiées, la valeur false est retournée.

Exemple

L'exemple suivant affiche le nombre de lignes modifiées par une instruction UPDATE. 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 Transact-SQL query. */
$tsql = "UPDATE Sales.SalesOrderDetail 
         SET SpecialOfferID = ? 
         WHERE ProductID = ?";

/* Set parameter values. */
$params = array(2, 709);

/* Execute the statement. */
$stmt = sqlsrv_query( $conn, $tsql, $params);

/* Get the number of rows affected and display appropriate message.*/
$rows_affected = sqlsrv_rows_affected( $stmt);
if( $rows_affected === false)
{
     echo "Error in calling sqlsrv_rows_affected.\n";
     die( print_r( sqlsrv_errors(), true));
}
elseif( $rows_affected == -1)
{
      echo "No information available.\n";
}
else
{
      echo $rows_affected." rows were updated.\n";
}

/* Free statement and connection resources. */
sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);
?>

Voir aussi

Concepts

À propos des exemples de code dans la documentation

Autres ressources

Référence de l'API (Pilote SQL Server pour PHP)
Mise à jour des données (pilote SQL Server pour PHP)