как проверить, существует ли имя пользователя в codeigniter

Я работаю над сайтом в codeigniter. Я не настолько опытен в использовании framework.Here, я должен проверить, существует ли электронная почта уже в базе данных. Я закодировал необходимые функции, но я получаю сообщение об ошибке при отправке формы. В контроллере я сделал следующее правило.

Мой код:

$this->form_validation->set_rules(
    'email', 'Email', 'trim|required|valid_email|is_unique|callback_isEmailExist'
);
public function isEmailExist($email) {
    $this->load->library('form_validation');
    $this->load->model('user');
    $is_exist = $this->user->isEmailExist($email);

    if ($is_exist) {
        $this->form_validation->set_message(
            'isEmailExist', 'Email address is already exist.'
        );    
        return false;
    } else {
        return true;
    }
}

в модели пользователя функция:

function isEmailExist($email) {
    $this->db->select('id');
    $this->db->where('email', $email);
    $query = $this->db->get('users');

    if ($query->num_rows() > 0) {
        return true;
    } else {
        return false;
    }
}

Когда я отправляю форму, я получаю следующие ошибки.

Обнаружена ошибка PHP

Серьезность: Уведомление

Сообщение: неопределенное смещение: 1

Имя файла: библиотеки / Form_validation.php

Номер строки: 953

Ошибка базы данных Произошла

Номер ошибки: 1064

У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с 'ГДЕ `= '[email protected]» LIMIT 1 ' в строке 2

ВЫБЕРИТЕ * ГДЕ `= '[email protected]» LIMIT 1

Имя файла: C: \ xampp \ htdocs \ aunction \ system \ database \ DB_driver.php

Номер строки: 330 Кто-нибудь, помогите мне, пожалуйста. Заранее спасибо.

Ответы на вопрос(8)

Ваш ответ на вопрос