Как искать в нескольких столбцах одной таблицы? (обезжиренная основа)

Мне нужно выполнить поиск по одному и тому же запросу в нескольких столбцах, используя fatfree. Это правильно работает в одном столбце:

 $f3->set('list', $users->find(array('name LIKE ?','%'.$queries.'%')));

Однако, если я попытаюсь:

 $f3->set('list', $users->find(array('name, email LIKE ?','%'.$queries.'%')));

Я получаю сообщение об ошибке:

PDOStatement: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' email LIKE '%invent%'' at line 1

Как я могу это сделать?

С Уважением.


person fran35    schedule 08.10.2015    source источник


Ответы (1)


Так должно быть:

$f3->set('list', $users->find(array(
  'name LIKE ? OR email LIKE ?',
  '%'.$queries.'%',
  '%'.$queries.'%'
)));

NB: PDO не позволяет использовать один и тот же заполнитель дважды, поэтому вам нужно дважды указать один и тот же аргумент ('%'.$queries.'%').

person xfra35    schedule 08.10.2015