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: 953

Wystą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ę.

questionAnswers(8)

yourAnswerToTheQuestion