Re: a weired query issue

From: Date: Thu, 08 Jan 2009 11:36:32 +0000
Subject: Re: a weired query issue
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-285655@lists.php.net to get a copy of this message
viraj wrote:
i have this query.. $sql = "SELECT id FROM modules_permissions WHERE id = '" . $permissionId . "';"; when i pass the value 31 to permissionid, it returns me the 31st row of the table. and it's fine. but when i pass '31asasa' as the permissionid it returns me the same row! how come this possible? id is a integer and the storage engine is myisam. i'm on debian and mysql version is 5.0.51a-15 ~viraj
completely normal behavior; any trailing non numeric chars are stripped leaving only the numerics mysql> select CAST('12aaa' as SIGNED); +-------------------------+ | CAST('12aaa' as SIGNED) | +-------------------------+
|                      12 |
+-------------------------+ 1 row in set, 1 warning (0.01 sec) mysql> show warnings; +---------+------+--------------------------------------------+
| Level   | Code | Message                                    |
+---------+------+--------------------------------------------+ | Warning | 1292 | Truncated incorrect INTEGER value: '12aaa' | +---------+------+--------------------------------------------+ 1 row in set (0.00 sec)

« previous php.general (#285655) next »