как проверить, существует ли имя пользователя в 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 Кто-нибудь, помогите мне, пожалуйста. Заранее спасибо.