- 1
- 2
- 3
<?php
$q=mysql_num_rows(mysql_query("SELECT * FROM `users`"));
>
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+166
<?php
$q=mysql_num_rows(mysql_query("SELECT * FROM `users`"));
>
Печально, но так поступают 85% кодеров..
ой да ладно...какие там 85... ну может 15%
Сам на подобные грабли наступал, когда начинал MySQL изучать... Потом, конечно, дошло - "SELECT COUNT(*)..."
(или имеется ввиду, что вместо * нужно юзать id? или прикол в другом?)
upd: COUNT(*) - правильно? o shi~
Я понимаю, что правильно называть это $num_rows или $num или $count, но...
В данном случае надо было:
SELECT COUNT(*) FROM `users`
Наряду с *, в данной строчке используется "получение" конечного результата минуя все остальные (включая возможные исключения) пользуясь лояльностью php к тем кто так пишет. Такую хрень - хреново отлаживать.
--
он кошка с автоматом
1.Нет лимита запросу,в случае 100000 записей вернёт их все.
2.Делается SELECT сразу всех полей(SELECT 'id','date') должно быть.
3.Нет проверки на ошибку(if ($mysql_query){}).
4.Если добавить переменную в sql запрос,то sql инъекция будет проходить на ура (mysql_escape_string()).
притом, что в разных БД еще есть возможность взять размер напрямую из системных таблиц и это еще быстрей чем count(*).
Мануал намекает, что так и надо писать. Так что, похоже в данном случае код вполне правильный.