$age=10;
$id=1;
$sql='update student set age=age+$age where sid=$id;
我想用Codeigniter写这个sql语句怎么可能?Codeigniter中的任何原生方式都可以这样做吗?我正在使用Codeigniter活动记录
答案 0 :(得分:4)
试试这样....
$this->db->set('age', "age+$age",FALSE);
$this->db->where('sid', $id);
$this->db->update('student');
OR
$data = array("age"=>"age+$age");
$this->db->set($data);
$this->db->where('sid',$id);
$this->db->update('student');
有关详细信息,请参阅此处的https://www.codeigniter.com/userguide3/database/query_builder.html#updating-data
答案 1 :(得分:1)
让我编辑我的答案
$data = array("age"=>"age+$age");
$this->db->set($data);
$this->db->where('sid',$id);
$this->db->update("student",$data);
答案 2 :(得分:0)
您可以这样做:
$age = 10;
$id = 1;
$data = array('age' => "age+$age");
$this->db->where('sid',$id);
$this->db->update('student',$data);
可以避免使用$this->db->set($data);
。
答案 3 :(得分:0)
你可以使用
$data = array(
"age"=>"age+$age"
);
$this->db->set($data);
$this->db->where('id',$id);
$this->db->update('student');
了解更多信息,请点击https://www.codeigniter.com/userguide3/database/query_builder.html