- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
<?php
function is_admin($user) {
$q = mysql_query("SELECT COUNT(*) FROM `admin` WHERE `user` = '$user'");
if(mysql_num_rows($q) == 1) {
return true;
}else{
return false;
}
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+149.7
<?php
function is_admin($user) {
$q = mysql_query("SELECT COUNT(*) FROM `admin` WHERE `user` = '$user'");
if(mysql_num_rows($q) == 1) {
return true;
}else{
return false;
}
}
}
Если кто непонял, COUNT() всегда возвращает 1 ячейку, я реально видел такой код =\
guest 11.02.2009 16:36 # 0
кстати, бывают ситуации, когда запрос вида SELECT COUNT(*) ... не вернёт ни одной записи - выборка будет просто пустой :-)
guest 11.02.2009 18:22 # 0
zerkms, только при ошибке запроса. В остальных случаях вернет n, где n >= 0
guest 12.02.2009 01:46 # 0
izra_ru
неправда ваша :-)
mysql> select count(*) from news_news where id = 666 group by id;
Empty set (0.00 sec)
guest 12.02.2009 08:52 # 0
Я всегда проверяю количество записей после "SELECT", и не ебет XD
guest 12.02.2009 10:46 # 0
Javof
зачем? :-)
guest 12.02.2009 13:07 # 0
zerkms:
шутку оценил. но ты придираешься к словам. у тебя сначала group by, и только потом select(*).
guest 13.02.2009 12:45 # 0
Да такая авторизация будет всегда пускать всех кому не лень, так как mysql_num_rows($q) по любому вернет одну запись с нулем (при неверной аутентификации). А сдесь явно проверяется не само значение, а количество записей вернувшихся в результате запроса.
guest 13.02.2009 22:50 # 0
ничего подобного, COUNT(*) в Мускле(а тут именно Мускуль) возвращает 0 при успешном выполнении запроса и если ничего не найдено.
guest 13.02.2009 22:51 # 0
хотя нет, пардон, я не дочитал код дальше. Сорри.