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]   

> Описание: Помогите правильно составить запрос для поиска в БД
pls
Отправлено: 10 Ноября, 2016 - 16:58:09
Post Id


Новичок


Покинул форум
Сообщений всего: 50
Дата рег-ции: Апр. 2013  


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




Помогите правильно составить запрос для поиска в БД

Всё как бы работает но только не ищет по этому полю:

$where .= (!empty($data['kor_n'])) ? " AND kor_n ='$data[kor_n]' LIKE '%$data[kor_n]%' " : '';

Когда я удаляю окончание LIKE '%$data[kor_n]%' то всё работает. Что в нем не то?

Далее предоставляю весь код:

PHP:
скопировать код в буфер обмена
  1.  
  2. $where = '';
  3.     $where .= (!empty($kod))  ? " WHERE kod ='$kod' " : '';
  4.     $where .= (!empty($data['kor_n'])) ? " AND  kor_n ='$data[kor_n]' LIKE '%$data[kor_n]%' " : '';
  5.    
  6.     $where .= (!empty($data['miscev'])) ? " AND  miscev =$data[miscev] " : '';
  7.     $where .= (!empty($data['tip'])) ? " AND  tip =$data[tip] " : '';
  8.     $where .= (!empty($data['stupin'])) ? " AND  stupin =$data[stupin] " : '';
  9.    
  10.    
  11.     $where .= (!empty($data['tel'])) ? " AND  tel ='$data[tel]' " : '';
  12.     $where .= (!empty($data['direkt'])) ? " AND  direkt ='$data[direkt]' " : '';
  13.     $where .= (!empty($data['email'])) ? " AND  email ='$data[email]' " : '';
  14.  //Выполняем запрос  
  15.     $row1 = R::getAll("SELECT * FROM `anketa` invoices $where");  
  16.  
  17.  
 
 Top
3d_killer
Отправлено: 10 Ноября, 2016 - 17:15:24
Post Id



Участник


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


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




А синтаксис лайк посмотреть не судьба?
CODE (SQL):
скопировать код в буфер обмена
  1. AND kor_n LIKE '%$data[kor_n]%'

(Отредактировано автором: 10 Ноября, 2016 - 17:15:38)

 
My status
 Top
pls
Отправлено: 10 Ноября, 2016 - 17:37:16
Post Id


Новичок


Покинул форум
Сообщений всего: 50
Дата рег-ции: Апр. 2013  


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




3d_killer пишет:
А синтаксис лайк посмотреть не судьба?
CODE (SQL):
скопировать код в буфер обмена
  1. AND kor_n LIKE '%$data[kor_n]%'



Спасибо, помогло)
(Добавление)
3d_killer пишет:
А синтаксис лайк посмотреть не судьба?
CODE (SQL):
скопировать код в буфер обмена
  1. AND kor_n LIKE '%$data[kor_n]%'



А ещё такой вопрос, почему у меня запрос не ищет если слово написано на русском?
 
 Top
3d_killer
Отправлено: 10 Ноября, 2016 - 17:48:04
Post Id



Участник


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


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




скорее всего в кодировке дело
 
My status
 Top
pls
Отправлено: 11 Ноября, 2016 - 15:48:28
Post Id


Новичок


Покинул форум
Сообщений всего: 50
Дата рег-ции: Апр. 2013  


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




Не срабатывает данная конструкция (это у меня листбоксы). Когда их выбираешь даёт ошибку(

PHP:
скопировать код в буфер обмена
  1.     $where .= (!empty($data['miscev'])) ? " AND  miscev = $data[miscev] " : '';
  2.     $where .= (!empty($data['tip'])) ? " AND  tip = $data[tip] " : '';
  3.     $where .= (!empty($data['stupin'])) ? " AND  stupin = $data[stupin] " : '';
 
 Top
3d_killer
Отправлено: 12 Ноября, 2016 - 11:20:30
Post Id



Участник


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


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




и где ошибка? и что в массиве?
 
My status
 Top
pls
Отправлено: 14 Ноября, 2016 - 10:56:19
Post Id


Новичок


Покинул форум
Сообщений всего: 50
Дата рег-ции: Апр. 2013  


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




3d_killer пишет:
и где ошибка? и что в массиве?


Fatal error: Uncaught [42000] - SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual ...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB