mysql_real_scape_string är för STRINGS . det kommer inte att göra ett heltal "säkert" för användning. t.ex.
$safe = mysql_real_escape_string($_GET['page']);
kommer att göra INGENTING där
$_GET['page'] = "0 = 0";
eftersom det inte finns några SQL-metatecken där. din fråga skulle sluta ungefär som
SELECT ... WHERE somefield = 0 = 0
Men att göra intval() kommer att konvertera den 0=0
till en vanlig 0
.