Pues Puede que con INT, no puedar Inyectar Codigo SQL, pero talves podria generar algun "error" que se mostrara en Pantalla.
Si Ingresas el Siguiente Codigo:
error_reporting(E_NONE);
Evitas que se Muestren errores, ocupa menos recursos que Ocupar @ adelante de las variables .
En lo Posible Ocupa Htmlentities. Me Parece mas Prolijo y evita errores.
$var = $_POST['var'];
htmlentities($var, ENT_QUOTES);
Tambien Intenta Ocupar Excepciones try , catch.
Cita: try {
$error = 'Always throw this error';
throw new Exception($error);
// Code following an exception is not executed.
echo 'Never executed';
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
// Continue execution
echo 'Hello World';
?>
Asi Controlas Todos los Posibles Errores. y el Resultado es Mucho mas Pro
Saludos Espero que te Sirvan los Consejos¡