我正在Code Igniter中构建一个应用程序。我在更新数据库中的布尔单元格时遇到问题。以下是我的发言:
public function updateHide($id) {
$sql = "UPDATE holiday_request SET hide = '1' WHERE holiday_request_id = " . (int)$id;
$this->db->query($sql);
echo $this->db->affected_rows();
}
我正在使用受影响的行功能快速检查Firebug是否已影响有效行。 我已打印出SQL语句并在PHP Myadmin中测试它并且工作正常,这意味着ID正确并且数据库中有一个有效行。 我不能为我的生活弄清楚为什么表没有更新。任何人都能指出我正确的方向吗? 在此先感谢!!
答案 0 :(得分:1)
感谢所有帮助人员,但事实证明我是一个白痴并且没有意识到将数组传递给该函数。
答案 1 :(得分:-1)
对于更新,我认为您应该使用exec
方法:
$affected_rows = $this->db->exec($sql);
答案 2 :(得分:-1)
尝试将数据库加载到您的函数中,如下所示
public function updateHide($id) {
$this->load->database();
$sql = "UPDATE holiday_request SET hide = '1' WHERE holiday_request_id = " . (int)$id;
$this->db->query($sql);
echo $this->db->affected_rows();
}
得到here
的提示答案 3 :(得分:-3)
将值设置为TRUE而不是'1'
public function updateHide($id) {
$sql = "UPDATE holiday_request SET hide = TRUE WHERE holiday_request_id = " . (int)$id;
$this->db->query($sql);
echo $this->db->affected_rows();
}