我有一个查询,可以查询任意数量的单词。可以是johnjohn doejohn companyjohn doe, company,甚至是doe company或'company doe'。

您可能猜到了我现在想找到这个人。因此,我必须查找3列(假设first_namelast_namecompany),其中包含我不知道其确切结构的查询。

如何使用没有安全漏洞的MATCH/AGAINST构造查询?

我在这里不清楚两件事:1)获得正确结果的逻辑是什么,以及2)如何不留下安全漏洞。这就是安全性的意思-我发现在CakePHP中进行全文搜索的唯一方法是:

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


但是所有人都说这是可以接受的。

最佳答案

尝试

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

10-05 22:47
查看更多