У меня есть привычка фильтровать переменную, отправленную пользователем, с помощью моей функции int, которая проверяет, что это число (если не возвращает 0), а не цитирует переменную в запросах mysql.
Это плохая практика? Думаю, я решил сделать это из соображений производительности. К тому же я всегда считал, что числа не следует заключать в кавычки.
Пример:
if($perpage != $user['perpage']){
if($perpage == 50 || $perpage == 100 || $perpage == 200 ){
$DB->query("UPDATE users SET perpage=$perpage WHERE id=$user[id]", __FILE__, __LINE__);
}
}