Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Правильный запрос или... ?
Форумы портала PHP.SU » PHP » Программирование на PHP » Правильный запрос или... ?

Страниц (1): [1]
 

1. Viper - 30 Октября, 2009 - 07:59:03 - перейти к сообщению
Собственно появился непонятный затык...

через ajax отправляю данные на сервер
в функции ловлю переданые данные и подставляю в запрос

PHP:
скопировать код в буфер обмена
  1. $q = $database->getEscaped(trim(mosGetParam($_REQUEST, 'tag', '')));
  2. $t = trim(intval(mosGetParam($_REQUEST, 't', 0)));
  3. $database->setQuery("SELECT `p_id`, `p_name`, `p_latin_name`, `p_birthday`, `p_type` FROM `#__people` WHERE `p_name` LIKE '$q%' OR `p_latin_name` LIKE '$q%' AND `p_type` = '".(int)$t."'");


Если ввести к примеру John, то скрипт выгребет данные только по этому юзверю у которого p_type = 1.

Если же ввести Джон, то почему-то приезжают все юзвери с именем Джон, не зависимо от p_type.

Запрос в firebug выглядит так http://localhost/local/administr[dot][dot][dot];t=1&tag=%E4 для буквы д

Сначала грешил на запрос, но sql манагере запрос отрабатывает так как надо. Думал кэширование подводит, но при отключенном кеше, все равно приезжает все, вместо того что нужно!

Такой баг только при выборке по русскому алфавиту.
2. Champion - 30 Октября, 2009 - 08:42:46 - перейти к сообщению
Viper пишет:
(`p_name` LIKE '$q%' OR `p_latin_name` LIKE '$q%' )AND `p_type` = '".(int)$t."'")
3. Viper - 30 Октября, 2009 - 09:22:18 - перейти к сообщению
Champion пишет:
Champion


спасибо. в начале так и делал в скобках, но видать запамятовал кэш почистить...

 

Powered by ExBB FM 1.0 RC1