So überprüfen Sie, ob der Benutzername bereits im Codeigniter vorhanden ist

Ich arbeite an einer Site in Codeigniter. Ich bin mit Framework nicht so vertraut. Hier muss ich überprüfen, ob E-Mail bereits in der Datenbank vorhanden ist. Ich habe die erforderliche Funktionalität codiert, erhalte jedoch beim Senden des Formulars eine Fehlermeldung. In der Steuerung habe ich die folgende Regel gemacht.

Mein Code ist:

$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;
    }
}

Im Modellbenutzer ist die Funktion:

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;
    }
}

Wenn ich das Formular abschicke, erhalte ich die folgenden Fehlermeldungen.

ein PHP Fehler ist aufgetreten

Schweregrad: Hinweis

Meldung: Undefinierter Offset: 1

Dateiname: libraries / Form_validation.php

Zeilennummer: 953

Ein Datenbankfehler ist aufgetreten

Fehlernummer: 1064

Sie haben einen Fehler in Ihrer SQL-Syntax. In dem Handbuch, das Ihrer MySQL-Serverversion entspricht, finden Sie die richtige Syntax für "WHERE" = "[email protected]" LIMIT 1 "in Zeile 2

SELECT * WHERE `= '[email protected]' LIMIT 1

Dateiname: C: \ xampp \ htdocs \ aunction \ system \ database \ DB_driver.php

Zeilennummer: 330 Bitte helfen Sie mir. Danke im Voraus.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage