Mysql查询使用codeigniter检查用户名和密码

Posted

技术标签:

【中文标题】Mysql查询使用codeigniter检查用户名和密码【英文标题】:Mysql query to check username and password using codeigniter 【发布时间】:2019-06-30 04:32:16 【问题描述】:

我有一个表格来存储用户详细信息,它包括电子邮件、手机和密码等字段。在这里,我的登录用户名可以是电子邮件或手机号码,我需要将其与密码进行比较。我怎样才能为它编写查询?我是这样写的,但是不行

$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();

我需要代码来将用户名(电子邮件或手机)与其密码进行比较。

【问题讨论】:

【参考方案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();

【讨论】:

以上是关于Mysql查询使用codeigniter检查用户名和密码的主要内容,如果未能解决你的问题,请参考以下文章

检查 codeigniter 查询错误,而不是向用户显示它们

Codeigniter 数据库错误:1064 使用 MySQL 可能还有一些会话配置错误

如何测试我的 MySQL 更新查询在 CodeIgniter 中是不是成功? [复制]

codeigniter Mysql join 查询结果

Mysql 查询在 Codeigniter 中返回空结果,但在本机 PHP 中工作正常

使用 PHP/CodeIgniter 在 MySQL 中获取最后执行的查询