mysqli_options> <mysqli_num_fields
Last updated: Mon, 28 Dec 2009

mysqli_num_rows

result->num_rows

(No version information available, might be only in CVS)

result->num_rows — Gets the number of rows in a result

Descrição

Procedural style:

int mysqli_num_rows ( mysqli_result $result )

Object oriented style (property):

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.

Parâmetros

result

Apenas para estilo de procedimento: Um identificador de um conjunto de resultados retornado por mysqli_query(), mysqli_store_result() ou mysqli_use_result().

Valor Retornado

Returns number of rows in the result set.

Nota: If the number of rows is greater than maximal int value, the number will be returned as a string.

Exemplos

Example#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();
?>

Example#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);
?>

O exemplo acima irá imprimir:

Result set has 239 rows.


User Contributed Notes
mysqli_num_rows
jon at fuck dot org
04-Jan-2006 04: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.

mysqli_options> <mysqli_num_fields
Last updated: Mon, 28 Dec 2009