我的桌子上有以下内容
最佳莱昂纳多迪卡普里奥电影
最佳塞缪尔·杰克逊 (Samuel L Jackson) 电影
最佳爱德华诺顿电影
动画电影
印度电影
印度食谱
印度市场
电影
我想搜索“印度电影”,结果应该是这样的
印度电影
印度食谱 印度市场
最佳莱昂纳多迪卡普里奥电影
最佳塞缪尔·杰克逊 (Samuel L Jackson)电影
最佳爱德华诺顿电影
动画电影
我如何为此编写 SQL 查询。
您需要在这里使用全文索引搜索。
但仅表支持全文搜索MyISAM
。
将FULLTEXT
索引添加到您的列,然后使用以下查询:
询问:
SELECT * FROM table_name
WHERE MATCH (column_name)
AGAINST ('Indian Movies' IN BOOLEAN MODE)
结果:
印度电影
印度食谱印度市场
电影最佳莱昂纳多迪卡普里奥电影
最佳塞缪尔杰克逊电影
最佳爱德华诺顿电影
动画电影
you need to split the string...
$raw_results = mysql_query("SELECT * FROM movie WHERE `title` LIKE '%".$query."%' OR `title` LIKE '%".$query1."%'") or die(mysql_error());
// movie is the name of our table
// '%$query%' and '%$query1%' is what we're looking for, % means anything, for example if $query is Indian Movies
// it will match "Indian Movies", "Indian Recipes Indian Market", "Movies Best Leonardo DiCaprio Movies", if you want exact match use `title`='$query'