我正在使用变量插值执行 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
相加来更新员工工资。
您应该更新第三行,如下所示:
$employee_salary = $employee_salary + $bones
$this->db->set('employee_salary', $employee_salary ), FALSE);
该变量不会被解释,因为它位于单引号内,并按原样传递下去。
连接字符串以计算变量并将其作为整个字符串表达式传递到数据库:
$this->db->set('employee_salary', 'employee_salary + '.$bones, FALSE);