0
public function search($search)
{
    global $pdo;
    $query = $pdo->prepare('SELECT * FROM items WHERE item_name = ?');
    $query->bindValue(1, $search);
    $query->execute();
    return $query->fetchAll();
}

如果我调用该函数,并说$searchcookie.

在我的数据库里面我有

chocolate chip cookie
oatmeal cookie
cookie 

它只会返回cookie那么我该如何修复我的查询,以便它返回所有item_name部分匹配或包含 cookie 的 s 呢?谢谢。

4

2 回答 2

3

你会使用like

where item_name like '%cookie%'

如果要查找完整的单词匹配:

where concat(' ', item_name, ' ') like '% cookie %'
于 2013-07-10T02:49:48.210 回答
3

为了完整起见,或者作为 的替代方法LIKE,您可以使用LOCATE()or INSTR()

SELECT * FROM table WHERE LOCATE('cookie', item_name);

注意:如果您对性能感到好奇,这里有一些旧基准

于 2013-07-10T02:56:20.003 回答