1

我正在 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 是正确的,并且数据库中有一个有效的行。我一生都无法弄清楚为什么表格没有更新。有人能指出我正确的方向吗?提前致谢!!

4

4 回答 4

1

感谢所有帮助人员,但事实证明我是个白痴,并在没有意识到的情况下将数组传递给函数。

于 2012-11-22T14:51:31.873 回答
-1

For updates I think you should use the exec method instead:

$affected_rows = $this->db->exec($sql);
于 2012-11-21T15:26:35.260 回答
-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();            
}

从这里得到提示

于 2012-11-21T15:27:32.650 回答
-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();            
}
于 2012-11-21T15:14:53.660 回答