好的,所以我正在尝试更新博客条目,当我尝试运行脚本时,我正在调用非对象上的成员函数bind_param()。我做了大量的研究,看看我是否可以自己修复它,但我必须遗漏一些东西。
<?php
$stmt = $mysqli->prepare("UPDATE blogentries SET
headline = ?,
image = ?,
caption = ?,
article = ?
WHERE id = ?");
$stmt->bind_param('ssssi',
$_POST['headline'],
$_POST['image'],
$_POST['caption'],
$_POST['article'],
$_POST['id']);
$stmt->execute();
$stmt->close();
?>
提前致谢,
奥斯汀
更新:这是db connect
为了调试目的,我添加了额外的$ mysqli连接,即使没有它也会发生错误。
答案 0 :(得分:14)
$stmt
可能是false
。
if ($stmt = $mysqli->prepare(...)) {
$stmt->bind_param(...);
...
}
else {
printf("Errormessage: %s\n", $mysqli->error);
}
答案 1 :(得分:1)
我通过手动测试查询解决了这个问题。事实证明,将每个字段名称放在后面的刻度之间,并根据查询中标有问号的参数删除任何引号。
答案 2 :(得分:-1)
如果与数据库的所有连接都正确,请尝试查找 查询中的语法。对我来说,我正在进行加入而没有 指定&#34; TABLENAME&#34;在where子句中,两者都是 表格有一列。