Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Сообщает число строк в результирующем наборе.
Синтаксис
sqlsrv_num_rows( resource $stmt )
Параметры
$stmt: результирующий набор, для которого требуется подсчитать строки.
Возвращаемое значение
Значениеfalse , если произошла ошибка при вычислении количества строк. В противном случае возвращает число строк в результирующем наборе.
Замечания
Инструкция sqlsrv_num_rows требует использовать курсор CLIENT, STATIC или KEYSET и возвращает значение false (ложь), если используется курсор FORWARD или DYNAMIC. (По умолчанию используется однонаправленный курсор.) Дополнительные сведения о курсорах см. в статьях 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";
?>