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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Правильный запрос или... ?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Viper
Отправлено: 30 Октября, 2009 - 07:59:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Собственно появился непонятный затык...

через 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 манагере запрос отрабатывает так как надо. Думал кэширование подводит, но при отключенном кеше, все равно приезжает все, вместо того что нужно!

Такой баг только при выборке по русскому алфавиту.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Champion Супермодератор
Отправлено: 30 Октября, 2009 - 08:42:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Viper пишет:
(`p_name` LIKE '$q%' OR `p_latin_name` LIKE '$q%' )AND `p_type` = '".(int)$t."'")
 
 Top
Viper
Отправлено: 30 Октября, 2009 - 09:22:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Champion пишет:
Champion


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


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB