1

私は検索機能を持っていますが、アイテムのカテゴリを単純にリストする代わりに、何も検索できないようにしたいと考えています。かなり標準的なもの。

したがって、ユーザーが検索語を入力せずにカテゴリを選択するだけの場合、検索で「cat_id = 1」などのすべてを検索する必要があります。

私は次のことを試していますが、いくつかの異なる方法を試しましたが、喜びはありません。私がそれを助けることができれば、さまざまな状況に対してさまざまなクエリを書くことに頼りたくありません。

私が検索しているテーブルには、「タイトル」という名前の列に全文索引があり、試しています:

select col_name from tablename where (MATCH(title) AGAINST ('*' IN BOOLEAN MODE))

しかし、まったく結果が得られません。このワイルドカードは許可されていますか?

4

1 に答える 1

1

* を使用しても役に立ちません。MySQLs サイトからの使用法を参照してください。

MATCH() は、検索する列の名前をカンマ区切りのリストで指定します。AGAINST は、検索する文字列と、実行する検索の種類を示すオプションの修飾子を取ります。検索文字列は、変数や列名ではなく、リテラル文字列である必要があります。

ユーザーが検索語を入力しない場合、その特定の WHERE 条件を省略すべきではありませんか?

于 2012-04-09T16:19:10.737 に答える