【问题标题】:Fatal error: Uncaught Error: Call to a member function bindValue() [duplicate]致命错误:未捕获的错误:调用成员函数 bindValue() [重复]
【发布时间】:2019-06-01 11:23:22
【问题描述】:

我在包含 bindValue 的 SQL 查询中遇到问题。 错误:致命错误:未捕获的错误:在 bool (240) 上调用成员函数 bindValue()。

但我在代码中看不到任何问题。请帮助:/

$count = $db->query("SELECT * FROM songs WHERE title LIKE :search");
$count->bindValue(":search","%{$search}%",PDO::PARAM_STR); // (line:240)
$count->execute();

【问题讨论】:

  • PDO::query() 返回一个 PDOStatement 对象,如果失败则返回 FALSE。如果您使用的是bindValue,则应该使用PDO::prepare()

标签: php sql pdo


【解决方案1】:

为了使用函数bindValue(),您需要使用准备好的语句。所以不要调用query(),而是使用prepare()

$count = $db->prepare("SELECT * FROM songs WHERE title LIKE :search");
$count->bindValue(":search","%{$search}%",PDO::PARAM_STR);
$count->execute();

【讨论】:

    猜你喜欢
    • 2018-09-10
    • 2023-03-27
    • 1970-01-01
    • 2020-02-15
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多