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.
try
'conditions' => array(
"MATCH(SearchIndex.data) AGAINST(? IN BOOLEAN MODE)" => $q
),
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.