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 » » Работа с СУБД » Помогите правильно составить запрос для поиска в БД

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

1. pls - 10 Ноября, 2016 - 16:58:09 - перейти к сообщению
Помогите правильно составить запрос для поиска в БД

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

$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.  
2. 3d_killer - 10 Ноября, 2016 - 17:15:24 - перейти к сообщению
А синтаксис лайк посмотреть не судьба?
CODE (SQL):
скопировать код в буфер обмена
  1. AND kor_n LIKE '%$data[kor_n]%'
3. pls - 10 Ноября, 2016 - 17:37:16 - перейти к сообщению
3d_killer пишет:
А синтаксис лайк посмотреть не судьба?
CODE (SQL):
скопировать код в буфер обмена
  1. AND kor_n LIKE '%$data[kor_n]%'



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



А ещё такой вопрос, почему у меня запрос не ищет если слово написано на русском?
4. 3d_killer - 10 Ноября, 2016 - 17:48:04 - перейти к сообщению
скорее всего в кодировке дело
5. pls - 11 Ноября, 2016 - 15:48:28 - перейти к сообщению
Не срабатывает данная конструкция (это у меня листбоксы). Когда их выбираешь даёт ошибку(

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] " : '';
6. 3d_killer - 12 Ноября, 2016 - 11:20:30 - перейти к сообщению
и где ошибка? и что в массиве?
7. pls - 14 Ноября, 2016 - 10:56:19 - перейти к сообщению
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 ...

 

Powered by ExBB FM 1.0 RC1