(PHP 5, PHP 7, PHP 8)
mysqli_result::$num_rows -- mysqli_num_rows — Obtém o número de linhas no resultado
Estilo orientado a objetos
Estilo procedural
Retorna o número de linhas no resultado.
O comportamento de mysqli_num_rows() depende se estão sendo usados resultados com buffer ou sem buffer. A função retorna 0
para resultado sem buffer a menos que todas as linhas já tiverem sido recebidas do servidor.
result
Somente no estilo procedural: Um objeto mysqli_result retornado por mysqli_query(), mysqli_store_result(), mysqli_use_result() ou mysqli_stmt_get_result().
Um int que representa o número de linhas recebidas. Retorna 0
em modo sem buffer a menos que todas as linhas tenham sido recebidas do servidor.
Nota:
Se o número de linhas for maior que
PHP_INT_MAX
, o número será retornado como uma string.
Exemplo #1 Estilo orientado a objetos
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$result = $mysqli->query("SELECT Code, Name FROM Country ORDER BY Name");
$row_cnt = $result->num_rows;
printf("Resultado contém %d linhas.\n", $row_cnt);
Exemplo #2 Estilo procedural
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
$result = mysqli_query($link, "SELECT Code, Name FROM Country ORDER BY Name");
$row_cnt = mysqli_num_rows($result);
printf("Resultado contém %d linhas.\n", $row_cnt);
Os exemplos acima produzirão:
Resultado contém 239 linhas.
Nota:
Em contraste à função mysqli_stmt_num_rows(), esta função não tem uma variante de método orientado a objetos. No estilo de linguagem orientada a objetos, use __get().