public function search($search)
{
global $pdo;
$query = $pdo->prepare('SELECT * FROM items WHERE item_name = ?');
$query->bindValue(1, $search);
$query->execute();
return $query->fetchAll();
}
如果我调用了该函数,并说$search
为cookie
。
在我的数据库中我有
chocolate chip cookie
oatmeal cookie
cookie
它只会返回cookie
那么我怎样才能修复我的查询,以便返回部分匹配或包含cookie的所有item_name
?感谢。
答案 0 :(得分:3)
您可以使用like
:
where item_name like '%cookie%'
如果您想查找完整的单词匹配:
where concat(' ', item_name, ' ') like '% cookie %'
答案 1 :(得分:3)
为了完整性,或作为LIKE
的替代方案,您可以使用LOCATE()
或INSTR()
:
SELECT * FROM table WHERE LOCATE('cookie', item_name);
注意:如果您对性能感到好奇,可以参考old benchmarks。