2017-02-23 2 views
0

私は自分のプロジェクトで検索を実装していますので、順番どおりにデータを検索する必要がありますので、私はthis questionに従っています。しかし、私のクエリはREGEXPでmysqlを検索しているときに問題が発生しました

私のPHPのクエリは

$cat="(?=.*Women)(?=.*Rings)"; 
$sql="select * from tbl_jewellery where categories RLike '$cat';"; 

私はWomen.*Ring|Ring.*Women に正規表現を変更したときにそれが正常に動作しますが、(?=.*Women)(?=.*Rings)アプローチは簡単で、ちょうどそれらを追加する複数の単語のために使用することができることですが働いていませんでした。

答えて

1

MySQLはREGEXPに(?の構文を実装していません。私はMariaDB 10.0.5がそうだと思います。このようなクエリの重要なサブセットの

、あなたはこれでそのcategoriesFULLTEXTインデックス使用することができます

MATCH(categories) 
    AGAINST('+women +rings' IN BOOLEAN MODE) 

「言葉」の両方が、順序または近接制限なしで、発生言います。

関連する問題