php MySQL多字搜索

时间:2014-09-23 21:04:05

标签: php mysql

这是music。 table它包含artiststitles。如果不止一位艺术家唱一首歌,艺术家就会被逗号分开。我想设置一个搜索功能,以便用户可以搜索一位艺术家,包括艺术家,没有艺术家和标题等。

music

|      artist     |    title   |
|------------------------------|
|eminem,lil wayne |   no love  |
|kida             |   o'najr   |

用户可以这样搜索:

eminem no love
lil wayne no love
no love eminem
no love lil wayne

此外,用户可以输入或不输入'之类的特殊字符 如果用户搜索:

kida onajr
kida o najr
kida o'najr

结果应该是一样的。

到目前为止,这是我的代码:

$search_value = "...";
$query = "select * from `music` where `title` like '%$search_value%' or `artist` like '%$search_value%'";

但如果我搜索lil wayne no love,则不会显示任何结果。

1 个答案:

答案 0 :(得分:2)

您应该使用MATCH AGAINST进行搜索。