我试图让PDO查询运行,所以我正在做:
$src = $this->conn->prepare("SELECT name, model, software FROM product WHERE
model LIKE '%:search_string%' OR
name LIKE '%:search_string%' OR
software LIKE '%:search_string%'");
$src->bindParam(':search_string', $search_string);
$src->execute();
return $src->fetchAll();
但是当我var_dump
这个时,我总是得到一个空数组([]
)。但是,如果我将其更改为" SELECT name, model, software FROM product
",我会按预期获得所有产品,那么我如何使用LIKE
子句错误?或者我完全错了吗?
答案 0 :(得分:3)
不能以这种方式使用绑定参数。您必须在准备好的查询中将其作为LIKE :search_string
输入,然后在绑定值中添加百分号(即$src->bindParam(':search_string', '%' . $search_string . '%');
)。