我有代码,当我搜索ID 90和2792时,输出结果如下:
RefID = 90、290、2792
我只想精确搜索;即90和2792。但是问题是它也显示了所有90(s)。
在搜索框中,我输入90,然后输入空格,然后输入2792。
我的代码是:
$query = $_GET['query'];
// gets value sent over search form
$words = explode(' ', $_GET['query']);
$regex = implode('|', $words);
WHERE candidatelist.RefID REGEXP '{$regex}'
答案 0 :(得分:1)
您可以使用
$regex = '(^|[^0-9])(' . implode('|', $words) . ')($|[^0-9])';
详细信息
(^|[^0-9])
-字符串的开头或除数字以外的任何字符(90|2792)
-90
或2792
($|[^0-9])
-字符串结尾或除数字外的任何字符。