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

Aus*_*ten 3 php mysqli

好的,所以我正在尝试更新博客条目,当我尝试运行脚本时,我正在调用非对象上的成员函数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();

?>
Run Code Online (Sandbox Code Playgroud)

提前致谢,

奥斯丁

更新:这是db connect

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

bit*_*ing 14

$stmt很可能false.

if ($stmt = $mysqli->prepare(...)) {
    $stmt->bind_param(...);
    ...
}
else {
    printf("Errormessage: %s\n", $mysqli->error);
}
Run Code Online (Sandbox Code Playgroud)

  • 为什么$ stmt会变错呢? (2认同)