Хм... Зачем два раза?
Вроде, одного достаточно, ведь проверка в первом условии:
((int)$_GET['id'] > 0)
может и не пройти, если там что-то не так будет.
Если я юзаю $_GET - всегда в функциях есть минипроверочка данной переменной:
PHP код:
function quote_smart(&$value)
{
// если magic_quotes_gpc включена - используем stripslashes
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
// Если переменная - число, то экранировать её не нужно
// если нет - то окружем её кавычками, и экранируем
if (!is_numeric($value)) {
$value = "'" . mysql_real_escape_string($value) . "'";
}
return $value;
}
И так проверяем любую переменную, приходящую по $_GET