2014-09-30 3 views
0

Я работаю над поиском многопользовательской сети. У меня есть переменная, которая будет автоматически заполнять поля проблему, когда я передаю запрос paramettre функции MySQL, чтобы выполнить его не поддерживает REQ и когда я прохожу тот же REQ непосредственно он работал напримерстранная ошибка в php/mysql

ex:

$req="SELECT * FROM tableEx WHERE"; 
if(!empty($keyword)) $req .=" keyword like '$keyword'"; 
.................................................. 
the result of $req="SELECT * FROM ExTable WHERE keyword like 'better' AND..... "; 
1.$result=query("SELECT * FROM ExTable WHERE keyword like 'better' AND.....");//work better 

2.$result=query($req); // dont working 
+0

Попробуйте напечатать SQL заявление до $ результата = запрос ($ REQ) '' и вы должны увидеть некоторые diffrences что может вызвать проблему – Ziinloader

+0

И попробуйте выполнить шестнадцатеричный ввод данных - возможно, у вас проблемы с набором символов. – symcbean

+0

SELECT numAnn, typeAnn, accesAnn, dedementAnn, dateRpdAnn, heureRpdAnn, intutileAnn FROM depot_annonce WHERE (intutileAnn regexp 'préparation' OR descAnn regexp 'préparation') ИЛИ (intutileAnn regexp 'exampleple' ИЛИ ​​descAnn regexp 'exampleple') AND (typeAnn LIKE ' Public ') AND (accesAnn = 1) LIMIT 0,6 Работает в php-myadmin. и когда я passe этот запрос к динамической переменной dont working ?? – Kamal

ответ

2

Попробуйте распечатать $ req перед тем, как выполнить и опубликовать результат.

Ваш код имеет потенциальную брешь в безопасности, дезинфицировать всегда переменные, прежде чем использовать его:

if(!empty($keyword)) $req .=" keyword like '" .mysql_real_escape_string($keyword)."'"; 
Смежные вопросы