Преобразование переменных сроки функцией settype
периодически нам приходится использовать какие-либо параметры строки, т.е. массив $_GET. Например, переменные форума.
как правило, используем числовые переменные, которые потом используются в SQL-запросе, например:
$id=$_GET["id"];
SELECT * FROM table WHERE id='$id'
Вроде бы все просто и понятно, кроме одного...
А что, если кто-то в строке вместо числового значения напишет какой-либо другой параметр? Например слово, или кусок SQL-запроса?
чтобы "предохраниться" от этого, есть простой способ:
$id=$_GET["id"];
settype($id,"integer");
SELECT * FROM table WHERE id='$id'
Что бы ни содержала переменная $id в первой строке, после преобразования функцией settype она станет числовой, соответственно запрос вернет нам либо пустое значение, либо искомое, не вызвав ошибки в исполнении.
Дата публикации: 2007-08-01
Смотрите также:
- Реализация ЧПУ(несуществующие страницы)
- Обработка ошибок заполнения Html-форм
Комментарии: