Мне нужна ежедневная бонусная система. Пользователь должен иметь возможность получать бонус один раз в день. я закодирован что-то вроде этого:PHP Дневной бонус
function checkDailyBonus($user, $type) {
global $ado;
$last_day = strtotime(date("Y:m:d 00:00:00"));
$query = $ado->exec("SELECT * FROM claimed_bonuses WHERE `user` = '$user' and `type` = '$type' ORDER BY `id` DESC");
$row = mysql_fetch_assoc($query);
$date = strtotime($row['date']);
if ($ado->count($query) < 1) {
return 1;
} else {
if ($last_day < $date) {
return 0;
} else {
return 1;
}
}
}
Но его возвращение неверного результата: даже если сегодня выше, последний претензии бонус скрипт возвращает 0, но оно должно быть возвращение 1 вместо этого. Последняя дата претензии - 2013-05-19 23:05:41. Заранее благодарю за любую помощь.
Похоже, вы умоляете SQL-инъекцию. – John
Как вы обращаетесь к базе данных? Является ли ваша функция 'exec' возвращать что-то, что вы можете передать в' mysql_fetch_assoc() '? – andrewsi
@John, это было бы верно, если бы '$ type' и' $ user' были введены пользователем, но здесь нет никаких указаний. –