如果关键字出现在字符串的不同位置,如何在数据库字段中搜索关键字?

时间:2017-03-27 08:10:16

标签: php mysql

我在数据库中有一个字段,我想要进行关键字搜索。但我觉得写一个Mysql查询时遇到了问题。

"select * from products as P where P.product_name REGEXP '[[:<:]]".$search."[[:>:]]'";

我已经使用REGEXP在搜索中获取了确切的关键字。代码运行正常。但我遇到的问题是什么时候

假设我想搜索&#34;洗衣机&#34;。但我进入洗衣机&#34;。

然后$ search的值将是

$search="washingmachine";

表格&product;产品名称字段中的关键字显示为

product_id | product_name
------------------------------------------------------------------------
1          | Haier 6.2 Kg Ruby Red Semi Automatic Top Load Washing Machine  XPB 62-0613RU
2          | Haier (6.2 Kg,Aqua Blue) Semi-automatic Top-loading Washing Machine XPB62-0613AQ
3          | Haier (6.5 Kg, ) Semi-automatic Top-loading Washing Machine  XPB 65-114D

我也使用了LIKE子句但遇到了同样的问题。

我如何搜索这个。如果有任何解决方案,请分享。

1 个答案:

答案 0 :(得分:0)

您可以使用 MATCH()... AGAINST(),如下所述:"Natural Language Full-Text Searches"