CodeIgniter对Activerecord的“WHERE AND OR”

时间:2015-01-09 23:45:57

标签: php mysql codeigniter activerecord

我想像这样进行CodeIgniter Active Records查询。

SELECT * FROM user WHERE user_name = 'email' 
AND (user_password='123' OR second_password = '456')

我已经尝试了一些代码,但没有工作。我正在使用CI 2.2.0

3 个答案:

答案 0 :(得分:0)

根据CI文档,您可以为where子句https://ellislab.com/codeigniter/user-guide/database/active_record.html

编写自定义字符串
$this->db->from('user');
$where = "user_name='email' AND (user_password='123' OR second_password = '456')";
$this->db->where($where);
$query = $this->db->get();

答案 1 :(得分:0)

速记版:

$where = "name='Joe' AND status='boss' OR status='active'";

$this->db->where('username', $name)->where($where)->get('myTableName');

$this->db->where()已作为SELECT FROM *,但您只想选择一些列。

  

$ this-> db-> select(); 注意:如果从表中选择所有(*)   你不需要使用这个功能

答案 2 :(得分:0)

我得到了一个简单的解决方案,谢谢大家。

$this->db->select('*');
$this->db->from('user');
$this->db->where('user_name', 'email');
$this->db->where('user_password', '123');
$this->db->or_where('user_name', 'email');
$this->db->where('second_password', '456');
$query = $this->db->get();