Как узнать количество строк в таблице в базе данных MySQL

Однажды я столкнулся с этой задачей, но многие из предлагаемых в интернете решений у меня не работали. И всё же я нашёл выход. И даже не один.

Способ 1. phpMyAdmin

Начнем с самого простого и очевидного. Допустим, вам не нужно использовать полученный результат в коде, а просто узнать количество строк, только и всего.

Тогда заходим в phpMyAdmin (localhost/tools/phpmyadmin — для Денвера), затем выбираем нужную базу данных, после этого выбираем таблицу, количество строк в которой нужно выяснить, и видим следующее сообщение:

количество строк в таблице базы данных

Способ 2. COUNT

Вот так выглядит сам SQL-запрос:

SELECT COUNT(1) FROM название_таблицы

SQL-запрос с условием:

SELECT COUNT(1) FROM название_таблицы WHERE условие

Реализация на PHP:

$a = mysql_query("SELECT COUNT(1) FROM название_таблицы");
$b = mysql_fetch_array( $a );
echo $b[0]; // выведет число строк

Аналогичным образом сюда можно добавить условие. Тогда код выведет число строк в таблице, удовлетворяющих условию.

Способ 3. mysql_num_rows

Этот способ позволяет подсчитать количество строк результата запроса.

Например в WordPress посты хранятся в таблице wp_posts, таким образом мы можем узнать количество всех постов. Этот код дан только для примера (или для случаев, когда среда WordPress не подгружена), так как в WordPress подключение к базе данных осуществляется через класс $wpdb.

/*
 * для начала подключимся к базе данных
 * возможно вы уже подключились к ней ранее
 * пользователь root и пустой пароль - настройки по умолчанию для Денвера
 */
$connect_db = mysql_connect("localhost", "root", "");
 
/*
 * выбираем базу данных, нужно указать её название
 */
mysql_select_db("truemisha_database", $connect_db);
 
/*
 * SQL запрос
 * у меня в качестве названия таблицы указана таблица с записями WordPress
 */
$posts = mysql_query("SELECT * FROM wp_posts", $connect_db);
 
/*
 * задействуем функцию mysql_num_rows()
 */
$num_rows = mysql_num_rows( $posts );
 
echo "Количество записей на вашем блоге WordPress: $num_rows \n";

В результат будут включены абсолютно все записи. А как узнать количество только тех, которые опубликованы? Для этого нам потребуется немного изменить SQL-запрос.

17
$posts = mysql_query("SELECT * FROM wp_posts WHERE post_status='publish'", $connect_db);

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

Комментарии 1

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Комментарии закрыты.