用于更新的Codeigniter方法

时间:2017-01-09 04:20:11

标签: php codeigniter

$age=10;
$id=1;
$sql='update student set age=age+$age where sid=$id;

我想用Codeigniter写这个sql语句怎么可能?Codeigniter中的任何原生方式都可以这样做吗?我正在使用Codeigniter活动记录

4 个答案:

答案 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