我有一个表来存储用户详细信息,其中包括电子邮件,手机和密码等字段。在这里,我要登录的用户名可以是电子邮件或手机号,我需要将其与密码进行比较。如何编写查询呢?我已经这样写了,但是没用
$this->db->select('*');
$this->db->from('user');
$this->db->where('email',$data['email']);
$this->db->or_where('mobile',$data['email']);
$this->db->where('password',$data['password']);
$this->db->get()->row();
我需要代码来比较用户名(电子邮件或手机名)及其密码。
答案 0 :(得分:1)
如在CodeIgniter官方文档(https://www.codeigniter.com/user_guide/database/query_builder.html#query-grouping)上所指定的,您可以对“ where”语句进行分组。因此,为了实现所需的功能,您应该执行以下操作:
$this->db->select('*')
->from('user')
->group_start()
->where('email',$data['email'])
->or_where('mobile',$data['email'])
->group_end()
->where('password',$data['password'])
->get();