PHP.mk документација

sqlsrv_num_rows

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.sqlsrv-num-rows.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.sqlsrv-num-rows.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
sqlsrv_num_rows

Референца за `function.sqlsrv-num-rows.php` со подобрена типографија и навигација.

function.sqlsrv-num-rows.php

sqlsrv_num_rows

(Нема достапни информации за верзијата, можеби е само во Git)

sqlsrv_num_rowsRetrieves the number of rows in a result set

= NULL

sqlsrv_num_rows(resource $stmt): mixed

Ја презема бројот на редови во множеството резултати sqlsrv_query(), sqlsrv_prepare(), или Укажува на курсор само напред. За информации за употреба, видете во документацијата на Microsoft SQLSRV.

Параметри

stmt
Ја презема бројот на редови во множеството резултати. Оваа функција бара ресурсот на изјавата да биде креиран со статичен или кејсет курсор. За повеќе информации, видете sqlsrv_query(), sqlsrv_prepare(), или Укажува на курсор само напред. За информации за употреба, видете во документацијата на Microsoft SQLSRV.

Вратени вредности

Изјавата за која се враќа бројот на редови. Ресурсот на изјавата мора да биде креиран со статичен или кејсет курсор. За повеќе информации, видете false Враќа број на редови преземени при успех и false се враќа.

Примери

Пример #1 sqlsrv_num_rows() example

<?php
$server
= "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $server, $connectionInfo );

$sql = "SELECT * FROM Table_1";
$params = array();
$options = array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
$stmt = sqlsrv_query( $conn, $sql , $params, $options );

$row_count = sqlsrv_num_rows( $stmt );

if (
$row_count === false)
echo
"Error in retrieveing row count.";
else
echo
$row_count;
?>

Види Исто така

  • sqlsrv_has_rows() - Укажува дали наведената изјава има редови
  • sqlsrv_rows_affected() - Враќа број на редови изменети од последниот извршен прашалник INSERT, UPDATE или DELETE

Белешки од корисници 2 забелешки

ако се појави грешка. Ако се користи курсор напред (стандардно) или динамичен курсор,
пред 13 години
Try to avoid using this function if you need good performance. Specifying "Scrollable" in the options will make you queries take ages to run. If your result contains less than 5000 rows (might vary on different hardware) its faster to not use "Scrollable" and loop over them in php instead. 

If you need to check if a result contains rows use "sqlsrv_has_rows()", this function works without "Scrollable". After removing all my "Scrollable" queries, my page loadtime went from 900ms to 60ms.

To demonstrate, here is a query that returns 100 rows:
<?php
for($i = 0; $i < 100; $i++) {
    $q = "SELECT sku,name FROM product WHERE visible = 1";
    $result = sqlsrv_query($db,$q,array(), array( "Scrollable" => SQLSRV_CURSOR_KEYSET ));

    while($row = sqlsrv_fetch_array($result)) {}
}
?>
This takes about 10s! Thats 10 qps..

Now if we remove "Scrollable":
<?php
for($i = 0; $i < 100; $i++) {
    $q = "SELECT sku,name FROM product WHERE visible = 1";
    $result = sqlsrv_query($db,$q);

    while($row = sqlsrv_fetch_array($result)) {}
}
?>
This will run in 300ms, about 334 qps!
smhahmadi
пред 13 години
Note that when migrating your MS SQL Server PHP Driver from MSSQL to SQLSRV, if you have used mssql_num_rows, replacing them with sqlsrv_num_rows and replacing mssql_query($query, $mssql_link) with sqlsrv_query($sqlsrv_link, $query) calls will make your sqlsrv_num_rows calls fail. In order to avoid that, you should specify either static, keyset or buffered cursors (buffered cursor has been available since SQLSRV 3.0) when calling sqlsrv_query. For example,
<?php
mssql_query($query, $mssql_link);
// is equivalent to
sqlsrv_query($sqlsrv_link, $query, array(), array('Scrollable' => 'buffered'));
?>
Using the buffered cursor is "more equivalent" than using the static or keyset cursors to simple mssql_query calls, since it caches the entire result set in client memory.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.