0

我的桌子上有以下内容

最佳莱昂纳多迪卡普里奥电影

最佳塞缪尔·杰克逊 (Samuel L Jackson) 电影

最佳爱德华诺顿电影

动画电影

印度电影

印度食谱

印度市场

电影

我想搜索“印度电影”,结果应该是这样的

印度电影

印度食谱 印度市场

最佳莱昂纳多迪卡普里奥电影

最佳塞缪尔·杰克逊 (Samuel L Jackson)电影

最佳爱德华诺顿电影

动画电影

我如何为此编写 SQL 查询。

4

2 回答 2

1

您需要在这里使用全文索引搜索。

但仅表支持全文搜索MyISAM

FULLTEXT索引添加到您的列,然后使用以下查询:

询问:

SELECT * FROM table_name
WHERE MATCH (column_name)
AGAINST ('Indian Movies' IN BOOLEAN MODE)

结果:

印度电影
印度食谱印度市场
电影最佳莱昂纳多迪卡普里奥电影
最佳塞缪尔杰克逊电影
最佳爱德华诺顿电影
动画电影

于 2012-12-27T06:51:27.620 回答
-1

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'
于 2012-12-27T05:25:23.433 回答