jak sprawdzić, czy nazwa użytkownika już istnieje w kreatorze kodu
Pracuję na stronie w codeigniter.Nie jestem tak ekspertem przy użyciu framework.Here muszę sprawdzić, czy e-mail już istnieje w bazie danych.Kodowałem wymaganą funkcjonalność, ale otrzymuję błąd przy przesyłaniu formularza. W kontrolerze wprowadziłem następującą regułę.
Mój kod to:
$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;
}
}
w modelu użytkownika funkcją jest:
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;
}
}
Kiedy przesyłam formularz, otrzymuję następujące błędy.
Wystąpił błąd PHP
Dotkliwość: Uwaga
Komunikat: Niezdefiniowane przesunięcie: 1
Nazwa pliku: libraries / Form_validation.php
Numer linii: 953Wystąpił Błąd Bazy Danych
Numer błędu: 1064
Wystąpił błąd w składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL, aby uzyskać właściwą składnię do użycia w pobliżu 'WHERE `=' [email protected] 'LIMIT 1' w linii 2
SELECT * WHERE `= '[email protected]' LIMIT 1
Nazwa pliku: C: xampp htdocs funkcja system bazy danych DB_driver.php
Numer linii: 330 Każdy może mi pomóc. Z góry dziękuję.