Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQL查询在CodeIgniter中不工作?_Php_Mysql_Codeigniter - Fatal编程技术网

Php SQL查询在CodeIgniter中不工作?

Php SQL查询在CodeIgniter中不工作?,php,mysql,codeigniter,Php,Mysql,Codeigniter,所以我只是尝试使用一个数组,使用codeigniter运行一个更新查询。这是我的密码 $array = array('departmentID' => $departmentID); $this->db->where($array); $data = array( "pending" => "pending+".$pendingNew, "approved" => "approved+".$approvedNew,

所以我只是尝试使用一个数组,使用codeigniter运行一个更新查询。这是我的密码

$array = array('departmentID' => $departmentID);
    $this->db->where($array);
    $data = array(
        "pending" => "pending+".$pendingNew,
        "approved" => "approved+".$approvedNew,
        "notApproved" => "notApproved+".$notApprovedNew
    );
    $this->db->update('departments', $data);
它运行良好,没有给出任何错误,但没有更新数据库,所以我尝试像这样打印生成的查询

echo$this->db->last\u查询

它给了我以下信息

UPDATE `departments` SET `pending` = 'pending+2', `approved` = 'approved+6', `notApproved` = 'notApproved+0' WHERE `departmentID` = '10';
所以我相信问题是因为它把撇号放在了加法部分周围,就像我删除这些撇号,然后在地板上运行sql一样,它会正确地更新

UPDATE `departments` SET `pending` = pending+2, `approved` = approved+6, `notApproved` = notApproved+0 WHERE `departmentID` = '10'

有人能告诉我如何解决这个问题吗?

试着用这种方式更新这些值,这对我很有用

$this->db->set('pending', 'pending + ' . (int) $pendingNew,  false);
$this->db->set('approved', 'approved  + ' . (int) $approvedNew,  false);
$this->db->where($array);
$this->db->update('departments');  

@David如果成功,请接受此用户回答。