dsf11t5u1651 2014-05-19 12:13
浏览 19
已采纳

CakePHP:Mysql在多个列上搜索多个查询

I have a query that is open to any number of words. Can be john, john doe, john company, john doe, company, or even doe company or 'company doe'.

You probably guessed I want to find this guy now. So I have to be looking for 3 columns (let's say first_name, last_name, company) with a query of which I don't know the exact structure.

How would I construct a query with MATCH/AGAINST without security holes?

There are two things I am not clear here: 1) What the logic would be to get the right results and 2) how not to leave security holes. Here is what I mean about security - the only way I find to do fulltext search in CakePHP is with:

 'conditions' =>  "MATCH(SearchIndex.data) AGAINST('$q' IN BOOLEAN MODE)",

But then everybody says this is open to injection.

  • 写回答

1条回答 默认 最新

  • dongshu9458 2014-05-19 12:28
    关注

    try

    'conditions' =>  array(
        "MATCH(SearchIndex.data) AGAINST(? IN BOOLEAN MODE)" => $q
    ),
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?