sqlsrv_num_rows
결과 집합에 행 수를 보고합니다.
구문
sqlsrv_num_rows( resource $stmt )
매개 변수
$stmt: 행 수를 계산할 결과 집합입니다.
Return Value
행 수를 계산하는 동안 오류가 발생하면 false 입니다. 그렇지 않으면 결과 집합의 행 수를 반환합니다.
설명
sqlsrv_num_rows에는 클라이언트 쪽, 정적 또는 키 집합 커서가 필요하며 정방향 커서 또는 동적 커서를 사용하는 경우 false를 반환합니다. (정방향 커서가 기본값입니다.) 커서에 대한 자세한 내용은 sqlsrv_query 및 커서 유형(SQLSRV 드라이버)을 참조하세요.
예시
<?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";
?>
다음 샘플에서는 둘 이상의 결과 집합(일괄 처리 쿼리)이 있는 경우 클라이언트 쪽 커서를 사용하는 경우에만 행 수를 사용할 수 있음을 보여 줍니다.
<?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";
?>