2016-09-07 3 views
-2

как я могу выполнить поиск в mysql несколькими словами. Допустим, у меня есть титул «черная сумочка для женщин». моя строка поиска - «сумка для женщин». Я хочу показать все продукты, в которых есть сумочка и женщины. Я сделал sql, он искал продукты, у которых есть сумочка и женщины, но также продукты, которые имеют только сумочку или womans, я хочу только те, у которых есть оба слова.mysql поиск по нескольким словам

$stmt = $dbh->prepare("SELECT * FROM Produse 
         INNER JOIN Categorii on Produse.ID_Categorie=Categorii.ID_Categorie 
         where MATCH Produse.Prod_Name AGAINST ('$q' IN BOOLEAN MODE) order by Produse.Prod_Name ASC"); 
     $stmt->execute(); 
+0

Mysql дают вам нравится оператор() для выполнения этой задачи. Проверьте эту ссылку http://www.w3schools.com/sql/sql_like.asp –

+0

http://stackoverflow.com/a/30677347, у меня есть аналогичный ответ, плавающий вокруг для innodb – Drew

ответ

0

Попробуйте так это для MySQL Query

SELECT  * 
FROM  produse 
INNER JOIN categorii 
ON   produse.id_categorie=categorii.id_categorie 
WHERE  produse.prod_name LIKE '%$q%' 
ORDER BY produse.prod_name ASC 
+0

, если я использую ''% q% ' 'он не будет работать, если другое слово находится между моим строковым поиском – chris227

+0

Попробуйте' '% $ q% '' not ''% q% '', пожалуйста, проверьте, правильно ли это? –

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