0

I am implementing search in my project so I have to search data which will be in any order so I'm following this question. But my query was not working

my php query is

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

when I change regex to Women.*Ring|Ring.*Women It works fine but (?=.*Women)(?=.*Rings) approach is easy and can be used for multiple words just adding them.

1 Answer 1

1

MySQL does not implement (? syntax in REGEXPs. I think MariaDB 10.0.5 does.

For a significant subset of such queries, you could use a FULLTEXT index on that categories with this:

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

That says both "words" occur, without limitations on order or proximity.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.