$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() скрипт выведет единицу.
Естественно что при 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 хуже?
а чем 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 — Активный образ жизни