2017-05-07 28 views
0

phpの検索機能を使用していますが、@のような文字を含むテキストを入力するとクエリが失敗します。mysqlの全文検索で特殊文字を検索する

たとえば、私が@全員を検索すると、エラーが発生します。 は、私は二重引用符を追加することによってこの問題を解決しようとしましたが、期待通りの検索@everyoneのために、それは動作しますが、@everoneを含む行を返すので、それは、動作しません。私たちはmysqlフルテキスト検索で

を特殊文字を含む単語を検索することができますどのように知っていただきたいと思い

はここ(簡体字)私のクエリです:デフォルトでは

SELECT * FROM messages WHERE MATCH(body) AGAINST ('@everyone' IN BOOLEAN MODE) 
+1

'InnoDBフルテキスト検索では、ブール型フルテキスト検索で@記号の使用がサポートされていません。 @記号は、@ distist近接検索オペレータが使用するために予約されています。 – Deadooshka

答えて

1

、MySQLはとして'@'を扱いません。単語の有効な文字。 '@'を処理する場合は、件名のdocumentationを確認してください。

変更を加えたら、インデックスを再構築する必要があります。

関連する問題