【问题标题】:Getting empty query [duplicate]获取空查询[重复]
【发布时间】:2015-12-27 22:34:00
【问题描述】:

我正在尝试运行 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 子句?还是我这样做完全错了?

【问题讨论】:

  • @AnotherCode 是的,成功了,谢谢!

标签: php mysql sql pdo


【解决方案1】:

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

另请参阅comment on PDOStatement::bindParam

【讨论】:

  • 是的,当你链接我那个文档时我做到了!喜欢你先生,一旦定时器关闭(6分钟),我会接受答案。
猜你喜欢
  • 2011-02-10
  • 2020-06-26
  • 2013-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-16
相关资源
最近更新 更多