CodeIgniter:如何在WHERE子句中使用和运算符



我在类似sql的中使用简单查询

$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);

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

连接字符串以计算变量,并将其作为一个完整的字符串表达式传递给DB:

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

最新更新