Определение количества строк с помощью mysql_num_rows в PHP

PHP является одним из самых популярных языков программирования для веб-разработки. Одна из его основных задач - взаимодействие с базами данных. Чаще всего для хранения данных используется СУБД MySQL. При работе с данными важно уметь определять их количество. В этой статье мы подробно разберем, как посчитать количество строк в результате SQL-запроса в PHP с помощью функции mysql_num_rows.

Основы работы mysql_num_rows

Функция mysql_num_rows() позволяет получить количество строк в результате запроса к базе данных MySQL. Она принимает в качестве параметра ресурс запроса $result и возвращает целое число - количество найденных строк.

Рассмотрим базовое использование на примере подсчета строк в таблице:

 $link = mysqli_connect("localhost", "user", "password", "database"); $query = "SELECT * FROM table"; $result = mysqli_query($link, $query); $row_cnt = mysql_num_rows($result); echo $row_cnt; 

Здесь мы подключились к базе данных, выполнили запрос и передали результат в mysql_num_rows(), получив общее количество строк. Этот простой прием позволяет быстро узнать размер любой таблицы.

Работа с параметром link_identifier

В более ранних версиях PHP функция mysql_num_rows() принимала второй необязательный параметр - идентификатор соединения $link_identifier. Сейчас этот параметр устарел и использовать его не рекомендуется.

Программист анализирует код

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

Функция mysql_num_rows() возвращает количество найденных строк в виде целого числа. Если запрос не вернул ни одной строки, будет возвращено значение 0.

В случае ошибки запроса функция вернет FALSE. Поэтому важно проверять возвращаемое значение перед дальнейшей работой.

Работа с NULL значениями

Если в столбце присутствуют NULL значения, они также будут посчитаны. Для исключения NULL из подсчета можно воспользоваться конструкцией COUNT(column) в самом SQL-запросе.

Телефон с веб-страницей

Расширенные примеры использования mysql_num_rows

Рассмотрим более сложные случаи применения mysql_num_rows для подсчета количества строк в PHP.

Подсчет с условием WHERE

 $sql = "SELECT * FROM table WHERE column = 'value'"; $result = mysqli_query($link, $sql); $row_cnt = mysql_num_rows($result); 

Здесь мы ограничили выборку условием в WHERE, и функция посчитает количество строк, удовлетворяющих этому условию.

Использование с LIMIT

 $sql = "SELECT * FROM table LIMIT 10"; $result = mysqli_query($link, $sql); $row_cnt = mysql_num_rows($result); 

LIMIT ограничивает вывод первых N строк. Но mysql_num_rows посчитает общее количество строк, которое могло бы быть возвращено без LIMIT.

Подсчет при JOIN

 $sql = "SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.table1_id"; $result = mysqli_query($link, $sql); $row_cnt = mysql_num_rows($result); 

Запрос с JOIN также можно передать в mysql_num_rows для получения количества строк результата.

Статья закончилась. Вопросы остались?
Комментарии 0
Подписаться
Я хочу получать
Правила публикации
Редактирование комментария возможно в течении пяти минут после его создания, либо до момента появления ответа на данный комментарий.