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