另一个问题。。。
我想更新我数据库中的一些内容,这次是我使用的滑块的名称,所以我这样做:
public function changeSlider($name) {
$errorsslide = array();
$stmt = $this->mysqli->prepare("UPDATE cms_functions SET value = ? WHERE title='Slider' ");
if ( false===$stmt ) {
die('prepare() failed: ' . htmlspecialchars($mysqli->error));
}
$stmt->bind_param('s', $name);
$stmt->execute();
if ( false===$stmt ) {
die('execute() failed: ' . htmlspecialchars($stmt->error));
}
$stmt->error();
$stmt->close();
$errorsslide[] = "<div class='alert alert-success'><button type='button' class='close' data-dismiss='alert'>x</button><strong>Success!</strong> Slider Changed successfully!</div>";
return $errorsslide;
}
当我运行代码时,它不会抛出错误,但它也不会更新我的数据库。。。
有答案吗?
Lisa
如果execute方法由于任何原因失败,则表明您当前没有正确捕获它。您需要比较该方法的返回值,看看它是否为false:
$result = $stmt->execute();
if ( false===$result ) {
die('execute() failed: ' . htmlspecialchars($stmt->error));
}
我不确定下面的$stmt->error();
行是否也有必要。
您在哪里声明$mysqli实例?如果它在函数中,并且你已经隐藏了它,那也没关系。但是,如果它是类的属性,那么您需要在包含它的所有地方都这样引用它:
$this->$mysqli