[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: COUNT(*)
dron4ik
$sql = "SELECT COUNT(*)
FROM post
WHERE post_name = '
$post_name'";
$result = mysql_query($sql);
$row = mysql_num_rows($result);


Всегда равно 1... есть он там или нет... Сам запрос в myadmin выводит правильное значение...
Если туплю то поправьте и простите))))



Спустя 3 минуты, 6 секунд (25.09.2012 - 16:07) TranceIT написал(а):
У тебя запросом возвращается всего одна строка, в которой хранится количество строк.

Естественно что при mysql_num_rows() скрипт выведет единицу.

Спустя 14 минут, 33 секунды (25.09.2012 - 16:22) killer8080 написал(а):
$sql = "SELECT COUNT(*)
FROM post
WHERE post_name = '
$post_name'";
$result = mysql_query($sql);
$num = mysql_result($result, 0);

Спустя 8 дней, 20 часов, 5 минут, 56 секунд (4.10.2012 - 12:28) Zzepish написал(а):
killer8080
а чем mysql_num_rows хуже?

Спустя 10 минут, 20 секунд (4.10.2012 - 12:38) killer8080 написал(а):
Цитата (Zzepish @ 4.10.2012 - 12:28)
а чем mysql_num_rows хуже?

Тем что жрет ресурсы безо всякой пользы. Если в таблице сотни тысяч, и более записей, COUNT() отработает за доли секунды, mysql_num_rows десятки секунд, а то и минуты, так как по факту будет происходить полная передача всех найденных рядов из БД в php, и подсчет их количества на стороне php, в то время как COUNT() произведет расчет на стороне БД и вернет только один ряд с результатом.


_____________
Ex3m.com.ua — Активный образ жизни
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.