infatti ho provato con mysql numb rows ma se nell'url inserisco simboli tipo or "" if ecc il campo passa lo stesso, con quel is numeric non passa e credo sia la soluzione migliore...
EDIT: alla fine li sto usando entrambi, faccio il controllo se l'id e' numerico, e faccio il controllo sulle righe, se esce qualcosa faccio vedere la pagina altrimenti l'errore, credo che sia un buon sistema di sicurezza o anche in questo caso un hacker potrebbe fare qualcosa?