Сообщение от Dan922
|
Т.к. эта переменная изначально была определена как integer.
|
Что?! И еще раз, и запомните хорошо -
все что приходит POST/GET запросами, это строки! А приведение integer к integer не приведет к ее "порче", а тем более не сделает из нее NULL.
echo (int)25; //как была 25 объявлена как integer, так ею и останется
//а вот строковое представление 25 станет числом 25
$str = '25';
echo gettype($str) . '<br>';
$str = (int)'25';
echo gettype($str);
//а вот так вашу базу как орех грецкий
//вы уверены, что форма вам уже числа шлет, думаете что город под ID 230 запрашивают
//а на самом деле ваши "дыры прощупывают"
$val = '230 union select "1", login, passwd ...';
//а вот так не прокатит
$val = (int)$val;
echo $val;
Вы не разобравшись в своих багах несете ахинею. Но это не беда, гораздо хуже, что вы не проверяете и не фильтруете входные данные.