Re: Is this redundant? {OT}

From: Date: Tue, 07 Oct 2003 01:15:52 +0000
Subject: Re: Is this redundant? {OT}
References: 1  Groups: php.db 
Request: Send a blank email to php-db+get-30887@lists.php.net to get a copy of this message
Robin Kopetzky wrote:
Good afternoon. I found this code in a program I'm renovating and think this is very redundant. Also, it does slow queries down while doing all of the conversions. prod_id in the mysql database is declared an integer. <SQL above> where prod_id = '" . (int)$prod_id . "' and <SQL below> Question: since $prod_is is already an integer, why would someone convert it into an integer, then convert it into a string to later have mysql convert it back into an integer?? Could someone shed some light on the intent behind this weird code??
This is most likely a security measure and not redundant at all. Even if someone tries to "inject" malicious SQL into $prod_id, this code will cast it as an integer, discarding any non-numeric characters. For example, if $prod_id is "42; drop database foo;", that would be very dangerous. With the (int) cast, $prod_id will simply be cast to the integer 42. A good idea in my view. --Dave

« previous php.db (#30887) next »