Mysql-запрос для проверки имени пользователя и пароля с помощью codeigniter - PullRequest
0 голосов
/ 30 июня 2019

У меня есть таблица для хранения информации о пользователе, и она включает в себя такие поля, как электронная почта, мобильный телефон и пароль. Здесь мое имя пользователя для входа может быть либо адресом электронной почты, либо номером мобильного телефона, и мне нужно сравнить его с паролем. Как я могу написать запрос для этого? Я написал это так, но это не работает

$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 Ответ

1 голос
/ 30 июня 2019

Как указано в официальной документации CodeIgniter (https://www.codeigniter.com/user_guide/database/query_builder.html#query-grouping),, вы можете сгруппировать операторы "где". Поэтому для достижения того, что вам нужно, вы должны сделать следующее:

$this->db->select('*')
    ->from('user')
    ->group_start()
        ->where('email',$data['email'])
        ->or_where('mobile',$data['email'])
    ->group_end()
    ->where('password',$data['password'])
    ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...