【发布时间】: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