告诉我,可能是什么问题?我做了一切应该做的事情,但不断显示“错误”。 Controller :
<?php
class Boss extends CI_Controller {
function __construct()
{
parent:: __construct();
$this->load->model('boss_model');
$this->load->model('news_model');
$this->load->model('reviews_model');
}
public function index()
{
if($this->userlib->logged_in_boss() == FALSE)
show_404();
$data['news'] = $this->news_model->get_news();
$data['reviews'] = $this->reviews_model->get_reviews();
$this->load->view('boss/main.php', $data);
}
public function review_del($id)
{
$delete = $this->reviews_model->del_review($id);
if($delete)
{
echo "Success";
}
else
{
echo "Error";
}
}
}
评论模型:
<?php
class Reviews_model extends CI_Model {
public function del_review($id = null)
{
$this->db->delete('reviews', array('id' => $id));
}
}
附注- 表“评论”不为空,“数据库”包含在 autoload.php
最佳答案
del_review
不返回值,因此 $delete
永远不会获得正确的结果值,并且始终评估为 false。因此,删除本身可能
已经成功,但您永远不会知道。 ;)
最简单:像这样更改:
public function del_review($id = null)
{
return $this->db->delete('reviews', array('id' => $id));
}
我认为这应该返回删除语句本身是否成功。这并不能告诉您实际的行是否被删除。也许之前已经被别人删除了。如果您想检查这一点,可以使用以下命令:
public function del_review($id = null)
{
$this->db->delete('reviews', array('id' => $id));
return $this->db->affected_rows() > 0;
}
这将执行删除语句,然后检查是否删除了实际行。因此,当您尝试删除不存在的记录时,也会收到错误消息。
关于php - 无法从数据库中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22119701/