Показать сообщение отдельно

  #9540  
Старый 23.10.2009, 21:50
Aртем
Познающий
Регистрация: 18.10.2009
Сообщений: 68
С нами: 8717851

Репутация: 90
По умолчанию

подскажите в чем проблема:
есть php скрипт который выполняет поиск в БД MySQL, содержимое запроса к БД примерно такое:
PHP код:
// так как самого кода скрипта нет, предполагаю, что код выглядит примерно так
$col1 $_POST['col1'];
$col2 $_POST['col2'];
mysql_query("SELECT * FROM `table` WHERE col1='".$col1."' AND col2='".$col2."' еще что-то"); 
вывода переменных нет.
я пытаюсь выполнить запрос к БД, что бы тот вернул мне результат true:
Код:
-1' OR LOCATE(1,(SUBSTRING(SELECT id FROM users WHERE id=1),1,1))#
В итоге запрос принимает форуме примерно такую:
Код:
SELECT * FROM `table` WHERE col1='-1' OR LOCATE(1,(SUBSTRING(SELECT id FROM users WHERE id=1),1,1))#' AND col2='1' еще что-то
Если я не ошибаюсь, то результат выполнения LOCATE должен вернуть true, т.к. id=1
Но в результате я получаю:
Код:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select id from users where id=1),1,1))#%' AND col2
Почему так?

Последний раз редактировалось Aртем; 23.10.2009 в 21:52..
 
Ответить с цитированием