【发布时间】:2015-05-04 21:36:12
【问题描述】:
我的模型中有这个删除功能。当您按下删除按钮时,它将从我的数据库中的总笔记列中减去总笔记数。例如。如果您有 200 条笔记,并且您删除了其中一条,那么它将是 199 条笔记,并且该笔记将从数据库中删除。
我的代码:
public function entry_delete($pid) {
$uid=$this->session->userdata('uid');
$whereConditions = array('pid' => $pid, 'uid' => $uid);
$this->db->where($whereConditions);
$this->db->delete('dayone_entries');
if ($this->db->affected_rows() == 0) {
$sql_entry = "UPDATE users set total_entry = total_entry - 1 WHERE uid = $uid";
$this->db->query($sql_entry);
return true;
} else {
return false;
}
}
但这不起作用。我不知道为什么,但是当我从视图中按下删除按钮时,它将从数据库中删除它并从我的 total_entry 表中减去 -1。但是,如果我注释掉
$this->db->delete('dayone_entries');
它仍然会从 total_entry 中减去 1。
我该如何解决这个问题?谢谢。
【问题讨论】:
-
不应该是
affected rows > 0,删除后,再在另一张表上做减法。你的if条件倒置了,如果affected rows == 0(没有受影响的行),然后做减法,那没有意义 -
@Ghost 那么我该如何解决呢?
-
答案已经在上面了,换个if条件
-
@Ghost 前两个词:“不应该”。你的意思是“不应该”还是“不应该”?
-
不需要 :) 实际上你可以回答你自己的问题,它在这里有效,我很高兴这有帮助
标签: php mysql database codeigniter