2016-02-15 2 views
0

Я пытаюсь использовать LIKE, чтобы найти строку с несколькими словами, однако результаты, которые я получаю, включают только совпадения по первому слову. Например, с помощью этого запроса:SQL LIKE работает только с первым словом

$query = "SELECT * FROM shouts WHERE shout LIKE '%$search%' "; 

Если я ищу «к» я только получить результаты, которые имеют «к» в первом слове, но никаких результатов с «к» в любых других словах. Я в тупике. Есть идеи?

+3

Не могли бы вы поделиться некоторыми примерами данных и результатом, который вы ожидаете получить для этого образца? – Mureinik

+2

Какая СУБД вы используете? –

+0

Обратите внимание: вы никогда не должны применять переменные напрямую к запросам, так как он оставляет запрос открытым для SQL-инъекций. – Takarii

ответ

0

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

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