- 1
- 2
- 3
- 4
- 5
$query = $sql -> query("SELECT *, COUNT(`id`) as count FROM `d_download` WHERE `id` = '{$id}'", true);
if($query['count'] == 1) {
// code
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−163
$query = $sql -> query("SELECT *, COUNT(`id`) as count FROM `d_download` WHERE `id` = '{$id}'", true);
if($query['count'] == 1) {
// code
}
Проверка, что значение найдено.
Moar all columns!!!111
> , true);
Возможно тут. Ну или в каждой результирующей строке.
Остаются некоторые сомнения в его правильности, поскольку все поля из *, кроме id (и, соответственно, count) будут заполнены значениями из первой произвольно выбранной строки. Такие дела.
Это багофича мускуля. Слава богу, что отключаемая. Позволяет выбирать какое-попало значение для полей, которые не входят ни в агрегатные функции, ни в список полей для группировки.
The server is free to choose any value from each group, so unless they are the same, the values chosen are indeterminate.
To disable the MySQL GROUP BY extension, enable the ONLY_FULL_GROUP_BY SQL mode.
http://dev.mysql.com/doc/refman/5.0/en/group-by-extensions.html
А вот походу это не проверка на существование записи, а проверка на ее существование и единственность. Кому-то было лень написать функцию, которая выполнит запрос и попробует сделать два фетча вместо одного, чтобы убедиться в том, что запись только одна, вот он и воспользовался этим грязным СУБД-зависимым хаком...