CodeIgniter UPDATE 查询将变量添加到列值

问题描述 投票:0回答:2

我正在使用变量插值执行 UPDATE 查询,但我想使用 CodeIgniter 的查询生成器方法。

$query = "update employee
          set employee_salary=employee_salary+ '" . $bones . '"
          where employee_id='" . $data['employee_id'] . "'
            and employee_code='" . $data['employee_code'] . "'";

我使用以下代码,但不起作用如下

$this->db->where('employee_id', $data['employee_id']);
$this->db->where('employee_code', $data['employee_code']);
$this->db->set('employee_salary', 'employee_salary+ $bones', FALSE);
$this->db->update('spar_m_in_out');

我想通过将当前值与

$bones
相加来更新员工工资。

php sql codeigniter sql-update query-builder
2个回答
2
投票

您应该更新第三行,如下所示:

$employee_salary  =   $employee_salary + $bones
$this->db->set('employee_salary', $employee_salary ), FALSE);

1
投票

该变量不会被解释,因为它位于单引号内,并按原样传递下去。

连接字符串以计算变量并将其作为整个字符串表达式传递到数据库:

$this->db->set('employee_salary', 'employee_salary + '.$bones, FALSE);
© www.soinside.com 2019 - 2024. All rights reserved.