获得空查询

时间:2015-09-30 08:08:46

标签: php mysql sql pdo

我试图让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子句错误?或者我完全错了吗?

1 个答案:

答案 0 :(得分:3)

不能以这种方式使用绑定参数。您必须在准备好的查询中将其作为LIKE :search_string输入,然后在绑定值中添加百分号(即$src->bindParam(':search_string', '%' . $search_string . '%');)。

另见comment on PDOStatement::bindParam