2017-02-23 27 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在REGEXPs中沒有實現(?語法。我認爲MariaDB 10.0.5的確如此。

對於這樣的查詢的顯著子集,可以對categories這種使用FULLTEXT指數:

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

,說這兩個「單詞」出現,沒有訂單或接近限制。

相關問題