|
|
|
| Выбираю статью из таблицы по ее идентификатору.
$id = 1;
SELECT * FROM `articles` WHERE `id`='$_GET['id']' ;
нормально получаю первую статью
$id = 1abc;
SELECT * FROM `articles` WHERE `id`='$_GET['id']' ;
и опять нормально получаю первую статью
В чем трабла? ведь нет идентификатора 1abc
PS про mysql_escape_string не говорите, тут просто не о том вопрос | |
|
|
|
|
|
|
|
для: PantiL
(07.03.2007 в 19:54)
| | MySQL приводит содержимое параметра $_GET['id'] к числовому контексту - если злоумышленики не будут использовать кавычки для изменения логики SQL-запроса, конструкция будет работать. | |
|
|
|
|
|
|
|
для: cheops
(08.03.2007 в 00:31)
| | Переменная экранируется, кавычки не страшны. И проблема не очень страшная, просто не хорошо получается, делается запрос к несуществующей странице, а скрипт некорректо обрабатывает. Не хотелось бы проверять переменную, число это или нет. От чего это зависит? от какой-то настройки? | |
|
|
|
|
|
|
|
для: PantiL
(08.03.2007 в 16:25)
| | Если переменная числовая - зачем Вы её экранируете? Ошибка в рассуждениях идет именно отсюда. | |
|
|
|