我有一个搜索函数,它应该从$keywords_search获取数组中的所有关键字,然后创建正确的mySQL语句来获取结果。问题是,当我搜索多个关键字时,它似乎只找到与数组中的 LAST 关键字匹配的结果。我做错了什么?
这是代码:
$sr='';
foreach(explode(" ",$keywords_search) as $value){
$sr="a.name LIKE '%".$value."%' AND";
}
$query[] = substr($sr,0,-4);
它应该搜索
a.name LIKE '%keyword1%' AND
a.name LIKE '%keyword2%' AND
a.name LIKE '%keyword3%'
var_dump(); 表示$query仅显示最后一个关键字的输出,而 var_dump(); 表示 $keywords_search 显示所有关键字。
让它像这样
$sr='';
foreach(explode(" ",$keywords_search) as $value){
$sr .= " a.name LIKE '%".$value."%' AND";
}
$query[] = substr($sr,0,-4);
您忘了放置要附加的.
。