Tilføjelsen af is_numeric
ville ikke gøre dette til et meget sandsynligt fuldt udbygget sql-angreb, men is_numeric
er bare ikke særlig præcis:
is_numeric('0xdeadbeef') // true
is_numeric('10e3') // true
Det er nok bedre at bruge filtre:
if (false !== ($id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT))) {
}