0

私のテーブルには次のものがあります

最高のレオナルド・ディカプリオの映画

最高の Samuel L Jackson の映画

最高の Edward Norton の映画

アニメ映画

インド映画

インドのレシピ

インド市場

映画

そして、「インド映画」を検索したい結果は次のようになります

インド映画

インドのレシピ インド市場

ベスト レオナルド・ディカプリオ映画

最高の Samuel L Jackson の映画

最高の Edward Norton の映画

アニメ映画

このための SQL クエリを作成するにはどうすればよいですか。

4

2 に答える 2

1

ここでは、全文索引検索を使用する必要があります。

ただし、全文検索はMyISAMテーブルに対してのみサポートされています。

列にインデックスを追加FULLTEXTしてから、次のクエリを使用します。

クエリ:

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

結果:

インド映画
インドのレシピインド市場
映画最高のレオナルド・ディカプリオ映画
最高のサミュエル・L・ジャクソン映画
最高のエドワード・ノートン映画
アニメ映画

于 2012-12-27T06:51:27.620 に答える
-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'
于 2012-12-27T05:25:23.433 に答える