(PHP 5, PHP 7, PHP 8)
mysqli_stmt::$num_rows -- mysqli_stmt::num_rows -- mysqli_stmt_num_rows — Возвращает количество строк, полученных с сервера
Объектно-ориентированный стиль
Процедурный стиль
Возвращает количество строк, помещённых в буфер в выражении. Функция будет работать только после вызова mysqli_stmt_store_result() для буферизации всего набора результатов в дескрипторе оператора.
Функция возвращает 0
, если с сервера не были получены все строки.
stmt
Только для процедурного стиля: объект mysqli_stmt, полученный с помощью mysqli_stmt_init().
Целое число (int), представляющее количество буферизованных строк.
Возвращает 0
в небуферизованном режиме, если с
сервера не были получены все строки.
Замечание:
Если количество строк больше, чем
PHP_INT_MAX
, число будет возвращено как строка (string).
Пример #1 Объектно-ориентированный стиль
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
$stmt = $mysqli->prepare($query);
$stmt->execute();
/* сохранение результата во внутреннем буфере */
$stmt->store_result();
printf("Число строк: %d.\n", $stmt->num_rows);
Пример #2 Процедурный стиль
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
$stmt = mysqli_prepare($link, $query);
mysqli_stmt_execute($stmt);
/* сохранение результата во внутреннем буфере */
mysqli_stmt_store_result($stmt);
printf("Число строк: %d.\n", mysqli_stmt_num_rows($stmt));
Результат выполнения данных примеров:
Число строк: 20.