De toevoeging van is_numeric
zou dit geen zeer waarschijnlijke volledige SQL-aanval maken, maar is_numeric
is gewoon niet erg exact:
is_numeric('0xdeadbeef') // true
is_numeric('10e3') // true
Het is waarschijnlijk beter om filters te gebruiken:
if (false !== ($id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT))) {
}