2016-10-04 4 views
0

Как вы можете видеть в заголовке, у меня есть таблица, которую я хочу использовать на веб-сайте, который у меня есть.MySQL SELECT * FROM table WHERE name LIKE (?) ИЛИ владелец LIKE (?);

Это как оператор MySQL выглядит сейчас: SELECT * FROM bth_nav WHERE name LIKE (?) OR owner LIKE (?);

На моем сайте я хочу либо поиск по имени или владельца. Сейчас я могу искать только имя, но не владельца. Вот почему я прошу о помощи, я попытался переписать заявление, но, тем не менее, я делаю это, я могу искать только один из них.

Заранее спасибо.

ответ

1

Ответ будет немного более сложным, чем вы ожидали.

Я вижу вопросительные знаки в вашем запросе, таким образом, я могу предположить, что вы используете подготовленные утверждения (что хорошо!).
Ваше старое заявление использовало 1 значение (для названия), и теперь вы хотите использовать 2.

У вас есть возможность для этого работать.

Проще всего было бы связать значение дважды, но это не самый приятный способ.

Лучше всего было бы назвать свои параметры, например:

SELECT * FROM bth_nav WHERE name LIKE (:nameOwner) OR owner LIKE (:nameOwner); 

Поэтому я использовать то же имя для обоих параметров здесь. Теперь вы можете привязать значение к указанному параметру с помощью bindValue, и вам нужно сделать это только один раз.

+0

Спасибо, работает как шарм. –

Смежные вопросы