Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: сложный запрос с тремя and
 
 автор: bibika   (28.02.2012 в 19:51)   письмо автору
 
 

Уважаемые помогите
Весь день провозился. Пользователь формирует запрос с тремя значениями. Данные точно есть в базе, раз запрос проходит раз не проходит. Запрос типа:
search1-3 поля для ввода запроса.


SELECT * FROM $table WHERE gen LIKE '%".$search1."%' AND spec LIKE '%".$search2."%'  AND country LIKE '%".$search3."%' order by inv_n ASC LIMIT $start, $num

в чем может быть проблема

Спасибо

  Ответить  
 
 автор: elenaki   (28.02.2012 в 19:53)   письмо автору
 
   для: bibika   (28.02.2012 в 19:51)
 

надо вывести сформированный запрос в браузер (чтоб вместо переменных были их значения) и запустить полученный запрос в РНРmyAdmin. возможно, ошибка в переменных.

  Ответить  
 
 автор: dimonich2004   (28.02.2012 в 19:56)   письмо автору
 
   для: bibika   (28.02.2012 в 19:51)
 

Попробуй для начала не рвать текст запроса двойными кавычками и убедись что в базе есть хотя бы один результат по этому запросу

PS: - Если поиск по сайту делаешь то это не прокатит!

  Ответить  
 
 автор: bibika   (28.02.2012 в 20:20)   письмо автору
 
   для: dimonich2004   (28.02.2012 в 19:56)
 

>PS: - Если поиск по сайту делаешь то это не прокатит!

Нет это не поиск на сайте, а поиск в базе. Данные точно есть в базе. Действительно буду смотреть на голый запрос без кавычек.

  Ответить  
 
 автор: cheops   (29.02.2012 в 16:45)   письмо автору
 
   для: bibika   (28.02.2012 в 19:51)
 

>раз запрос проходит раз не проходит
Под "проходит" и "не проходит" что имеется в виду? Выводится ошибка или возвращает пустая результирующая таблица?

  Ответить  
 
 автор: bibika   (25.06.2012 в 13:00)   письмо автору
 
   для: cheops   (29.02.2012 в 16:45)
 

Если данные вводить руками, ничего не находит.
Если эти же данные скопировать с блокнота и вставить в поля формы все что нужно находится

  Ответить  
 
 автор: cheops   (25.06.2012 в 17:22)   письмо автору
 
   для: bibika   (25.06.2012 в 13:00)
 

Кодировка соединения с базой данных и страницы совпадают? Попробуйте просто вывести запрос в окно браузера, там визуально все нормально?

  Ответить  
 
 автор: Lotanaen   (29.02.2012 в 17:25)   письмо автору
 
   для: bibika   (28.02.2012 в 19:51)
 

А Вы вводимые пользователем данные обрабатываете? Функцию trim() применяете?

  Ответить  
 
 автор: bibika   (25.06.2012 в 13:00)   письмо автору
 
   для: Lotanaen   (29.02.2012 в 17:25)
 

да очистку от лишних пробелов и очистку от специальных символов провожу

  Ответить  
 
 автор: Sfinks   (25.06.2012 в 19:10)   письмо автору
 
   для: bibika   (25.06.2012 в 13:00)
 

А данные в базе откуда?

Мoжeт тaм впeрeмeшку pуccкиe и лaтинcкиe буквы?

Вот в строке выше все жирные буквы латинские.

  Ответить  
 
 автор: bibika   (26.06.2012 в 18:00)   письмо автору
 
   для: Sfinks   (25.06.2012 в 19:10)
 

Нет не вперемешку.

Первые 5 строк таблицы это латинка, остальные только кириллица. Кроме того когда я копирую значения для поиска с блокнота все работает нормально.

  Ответить  
 
 автор: Sfinks   (28.06.2012 в 03:00)   письмо автору
 
   для: bibika   (26.06.2012 в 18:00)
 

> Кроме того когда я копирую значения для поиска с блокнота все работает нормально.

Ну а я вам про что говорю?

Попробуйте скопировать и выполнить этот код:
INSERT INTO tbl(fld) VALUES('pyccкиe бyквы'),('lаtin lеtters')
, заменив tbl и fld на реальные таблицу и поле.
А потом попробуйте найти эти строки написав текст вручную.
А потом попробуйте найти их скопировав текст отсюда.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования