2014-02-11 3 views
0

У меня есть таблица в моей базе данных со структурой что-то вроде этого: ID, category, county, keywordSQL значение поля содержится шпагатом

Теперь у меня есть категория, графство и текст.

Я хочу взять из моей базы данных строк с категорией, графство, что у меня есть, но и 'keyword' должен быть в моем тексте

select from `posts` where `category`='$category' and `county`='$county' 

Может кто-нибудь помочь мне с третьим условия ('keyword' должны быть в моем $text)? Спасибо!

+1

Неверный запрос: следует выбрать 'select * from'. –

ответ

2

Если вы имеете в виду текст столбца keyword должен содержаться в любом месте в переменной $ текста, а затем использовать

select ID,category,county,keyword 
    from `posts` 
where `category`='$category' and `county`='$county' 
    and '$text' like concat('%', `keyword`, '%') 

На самом деле, чтобы предотвратить инъекции SQL, было бы лучше использовать подготовленное заявление, используя параметры $category, $county и $text для предотвращения внедрения SQL.

+0

Спасибо, это то, что я хочу, но это не работает. Я думаю, что синтаксис является проблемой. Я буду искать дальше – Andreea

+0

@Andreea Что вы подразумеваете под словом «это не работает»? Вы получили сообщение об ошибке? Который? – FrankPl

+0

это сообщение об ошибке: У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с '+ 'keyword' +'% 'LIMIT 0, 30' в строке 1 – Andreea

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