在Codeigniter中使用AND&OR条件更新查询

时间:2019-04-09 18:01:50

标签: php mysql database codeigniter-3

我想用AND & OR条件更新代码点火器框架中的查询。下面是简单的查询:

UPDATE tbl_test SET name='test' WHERE id=1 AND (fname='r1' OR fname='r2');

下面是我尝试过的CodeIgniter语法:

$updateData_next_schdule['name'] = 'test';
$this->db->update('tbl_test', $updateData_next_schdule, array('id' => 1, ['fname' => 'r1','fname' => 'r2']));

但是它没有按预期工作。请对此提供帮助。

2 个答案:

答案 0 :(得分:0)

我认为您必须更改代码才能使用QueryBuilder

$this->db->where('id', 1)
$this->db->and_group_start()
$this->db->where('fname', 'r1')
$this->db->or_where('fname', 'r2')
$this->db->group_end()
$this->db->set('name','test');
$this->db->update('tbl_test');

//Check the query
var_dump($this->db->last_query());

答案 1 :(得分:0)

您也可以尝试

$this->db->query("UPDATE tbl_test SET name='test' WHERE id=1 AND (fname='r1' OR fname='r2')");