Partager via


sqlsrv_num_rows

Télécharger le pilote PHP

Indique le nombre de lignes dans un jeu de résultats.

Syntaxe

  
sqlsrv_num_rows( resource $stmt )  

Paramètres

$stmt: jeu de résultats duquel compter les lignes.

Valeur de retour

false en cas d’erreur de calcul du nombre de lignes. Sinon, retourne le nombre de lignes dans le jeu de résultats.

Notes

sqlsrv_num_rows nécessite un curseur côté client, statique ou de jeu de clés, et retourne false si vous utilisez un curseur avant ou un curseur dynamique. (Par défaut, il s’agit d’un curseur avant.) Pour plus d’informations sur les curseurs, consultez sqlsrv_query et Types de curseur (pilote SQLSRV).

Exemple

<?php  
   $server = "server_name";  
   $conn = sqlsrv_connect( $server, array( 'Database' => 'Northwind' ) );  
  
   $stmt = sqlsrv_query( $conn, "select * from orders where CustomerID = 'VINET'" , array(), array( "Scrollable" => SQLSRV_CURSOR_KEYSET ));  
  
   $row_count = sqlsrv_num_rows( $stmt );  
  
   if ($row_count === false)  
      echo "\nerror\n";  
   else if ($row_count >=0)  
      echo "\n$row_count\n";  
?>  

L’exemple suivant montre que quand il existe plusieurs jeux de résultats (requête par lot), le nombre de lignes est uniquement disponible quand vous utilisez un curseur côté client.

<?php  
$serverName = "(local)";  
$connectionInfo = array("Database"=>"AdventureWorks");  
$conn = sqlsrv_connect( $serverName, $connectionInfo);  
  
$tsql = "select * from HumanResources.Department";  
  
// Client-side cursor and batch statements  
$tsql = "select top 2 * from HumanResources.Employee;Select top 3 * from HumanResources.EmployeeAddress";  
  
// works  
$stmt = sqlsrv_query($conn, $tsql, array(), array("Scrollable"=>"buffered"));  
  
// fails  
// $stmt = sqlsrv_query($conn, $tsql);  
// $stmt = sqlsrv_query($conn, $tsql, array(), array("Scrollable"=>"forward"));  
// $stmt = sqlsrv_query($conn, $tsql, array(), array("Scrollable"=>"static"));  
// $stmt = sqlsrv_query($conn, $tsql, array(), array("Scrollable"=>"keyset"));  
// $stmt = sqlsrv_query($conn, $tsql, array(), array("Scrollable"=>"dynamic"));  
  
$row_count = sqlsrv_num_rows( $stmt );  
echo "\nRow count for first result set = $row_count\n";  
  
sqlsrv_next_result($stmt);  
  
$row_count = sqlsrv_num_rows( $stmt );  
echo "\nRow count for second result set = $row_count\n";  
?>  

Voir aussi

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