我正在尝试使用PDO返回搜索字词,其中一些字符串包含在()
中,并且在搜索时它们没有显示。
以我在Strawberry (Ripe)
(r
为例
但是当我不这样做时:
是否有任何方法可以匹配括号内的字符串,以便更有效地进行搜索。
我当前的代码:
public function getAllFlavoursSearch($search) {
$query = "SELECT flavour_name, flavour_company_name FROM flavours WHERE flavour_name LIKE :search OR flavour_name LIKE :search2 OR flavour_name LIKE :search3 OR flavour_company_name LIKE :search4 LIMIT 0,100";
$stmt = $this->queryIt($query);
$stmt = $this->bind(':search', $search. '%', PDO::PARAM_STR);
$stmt = $this->bind(':search2', '%' .$search, PDO::PARAM_STR);
$stmt = $this->bind(':search3', '%('.$search.')%', PDO::PARAM_STR);
$stmt = $this->bind(':search4', '%('.$search.')%', PDO::PARAM_STR);
return $this->resultset();
答案 0 :(得分:1)
有一条捷径。 MATCH()函数。将您的查询更改为此。
$query = "SELECT flavour_name, flavour_company_name FROM flavours WHERE MATCH(`flavour_name`, `flavour_name`, `flavour_company_name`) AGAINST (:search) LIMIT 0,100";