另一个问题......
我想在我的数据库中更新一些东西,这次它是我正在使用的滑块的名称,所以我这样做:
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;
}
当我运行代码时,它不会抛出错误,但它也不会更新我的DB ...
有什么答案吗?
莉莎
答案 0 :(得分:1)
如果执行方法由于某种原因确实失败,那么您当前没有正确捕获它。您需要比较方法的返回值,看它是否为假:
$result = $stmt->execute();
if ( false===$result ) {
die('execute() failed: ' . htmlspecialchars($stmt->error));
}
我不确定以下行$stmt->error();
是否也是必要的。
你在哪里声明$ mysqli实例?如果它在函数中,并且你隐藏了它,那很好。但是,如果它是该类的属性,那么您需要在包含它的任何地方引用它:
$this->$mysqli