mysql_real_scape_string jest dla STRINGS . nie sprawi, że liczba całkowita będzie „bezpieczna” do użytku. np.
$safe = mysql_real_escape_string($_GET['page']);
nie zrobi NIC, gdzie
$_GET['page'] = "0 = 0";
ponieważ nie ma tam metaznaków SQL. Twoje zapytanie zakończyłoby się mniej więcej w stylu
SELECT ... WHERE somefield = 0 = 0
Jednak wykonanie intval() spowoduje przekonwertowanie tego 0=0
do zwykłego 0
.