【问题标题】:Need help binding parameters without question marks [duplicate]需要帮助绑定参数没有问号[重复]
【发布时间】:2014-10-09 19:38:04
【问题描述】:

我正在尝试使用准备好的语句更新一行。我不想使用问号,因为它会转义所有撇号。我正在尝试使用 :coloumn_name

绑定它

当我尝试时,我不断收到此错误消息...

在非对象上调用成员函数 bind_param()....

请有人帮我纠正这个问题。我在下面包含了我的代码。谢谢!

    $query = "UPDATE categories SET category_name = :category_name WHERE id = :id ";
$stmt = $db->prepare($query);
$stmt->bind_param(":category_name,:id", $category_name, $id);

【问题讨论】:

  • MySQLi 不支持命名占位符,它允许?。如果您想要命名占位符,请考虑切换到 PDO,它更易于使用。
  • 这里有很好的学习教程pdo
  • Use PDO with prepared statements 如果您不想使用问号。

标签: php mysqli prepared-statement


【解决方案1】:

mysqli 不能这样做。

只有 PDO(带有准备好的语句),支持命名占位符。

欲了解更多信息,请访问 PHP.net 网站:

【讨论】:

  • 谢谢@Fred-ii-上帝保佑你!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-12
  • 2011-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-12
  • 1970-01-01
相关资源
最近更新 更多