PHP: mysqli_num_rows - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

mysqli_options mysqli_num_fields

Last updated: Sat, 27 Jan 2007

view this page in

# mysqli_num_rows

(PHP 5)

mysqli_num_rows -- Gets the number of rows in a result

## Description

Procedural style:

int mysqli_num_rows ( mysqli_result result )

Object oriented style (property):

class mysqli_result {
int num_rows
}

Returns the number of rows in the result set.

The use of mysqli_num_rows() depends on whether you use buffered or unbuffered result sets. In case you use unbuffered resultsets mysqli_num_rows() will not correct the correct number of rows until all the rows in the result have been retrieved.

## Возвращаемые значения

Returns number of rows in the result set.

> Замечание: If the number of rows is greater than maximal int value, the number will be returned as a string.

## Смотрите также

mysqli_affected_rows(), mysqli_store_result(), mysqli_use_result() и mysqli_query().

## Примеры

Пример 1. Object oriented style

`<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
if ($result = $mysqli->query("SELECT Code, Name FROM Country ORDER BY Name")) {
/* determine number of rows result set */
$row_cnt = $result->num_rows;
printf("Result set has %d rows.\n", $row_cnt);
/* close result set */
$result->close();
}
/* close connection */
$mysqli->close();
?>`

Пример 2. Procedural style

`<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
if ($result = mysqli_query($link, "SELECT Code, Name FROM Country ORDER BY Name")) {
/* determine number of rows result set */
$row_cnt = mysqli_num_rows($result);
printf("Result set has %d rows.\n", $row_cnt);
/* close result set */
mysqli_free_result($result);
}
/* close connection */
mysqli_close($link);
?>`

Результат выполнения данного примера:

    Result set has 239 rows.

add a note User Contributed Notes
mysqli_num_rows
jon at fuck dot org
04-Jan-2006 10:39
`this is stated in the main mysqli section under constants, but isn't stated here: to get a get a buffered result set, use MYSQLI_STORE_RESULT in your query or call mysqli_store_result() when fetching the result set from a prepared query. this allows you to get the right rowcount every time, since your result set is going to be atomic.
don't forget that whether or not you really want to buffer the result set is a different question altogether.`
add a note
mysqli_options mysqli_num_fields

Last updated: Sat, 27 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 10:36:09 2007 PST