我的表格中有以下内容
最佳莱昂纳多迪卡普里奥电影
最佳Samuel L Jackson电影
最佳爱德华诺顿电影
动画电影
印度电影
印度食谱
印度市场
影
我想搜索“印度电影”,结果应该像
印度电影
印度食谱 印度市场
影 最佳莱昂纳多迪卡普里奥电影
最佳Samuel L Jackson 电影
最佳爱德华诺顿电影
动画电影
我如何为此编写SQL查询。
答案 0 :(得分:1)
您需要在此处使用Full TEXT索引搜索。
但仅MyISAM
表支持全文搜索。
将FULLTEXT
索引添加到您的列,然后使用以下查询:
<强>查询:强>
SELECT * FROM table_name
WHERE MATCH (column_name)
AGAINST ('Indian Movies' IN BOOLEAN MODE)
<强>结果:强>
印度电影
印度食谱印度市场
电影最佳莱昂纳多迪卡普里奥电影
最佳Samuel L Jackson 电影
最佳爱德华诺顿电影
动画电影
答案 1 :(得分:-1)
你需要拆分字符串......
$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'