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

2021-12-25 00:00:00 php mysqli

好的,所以我正在尝试更新博客条目,当我尝试运行脚本时,我正在调用非对象上的成员函数 bind_param().我已经做了大量的研究,想看看我是否可以自己修复它,但我一定遗漏了一些东西.

Okay, so I'm trying to update a blog entry, and I'm getting Call to a member function bind_param() on a non-object when I try to run the script. I have done extensive research to see if I could fix it myself, but I must be missing something.

<?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();

?>

提前致谢,

奥斯汀

更新:这是数据库连接

我添加了额外的 $mysqli 连接用于调试目的,即使没有它也会发生错误.

I added the extra $mysqli connection for debugging purposes, and the error occurs even without it.

推荐答案

$stmt 可能是 false.

if ($stmt = $mysqli->prepare(...)) {
    $stmt->bind_param(...);
    ...
}
else {
    printf("Errormessage: %s
", $mysqli->error);
}

相关文章