I have an application that takes data via a POST request. I am using this data to insert a new row into the database. I know that using mysql_real_escape_string() (plus removing % and _) is the way to go for strings, but what about integer values? Right now, I am using the PHP function intval() on them.
However, I wanted to make sure that intval() is perfectly safe. I can't see a way of an attacker preforming a SQL injection attack when the variables are run through intval() first (since it always returns an integer), but I wanted to make sure this is the case from people that have more experience than I.
Thanks.
intval()will return zero. This is obviously undesirable if you're attempting to store very large numbers in your database. For example, facebook's ids haven't fit in 32 bits for years developers.facebook.com/blog/post/45