Sprawdzanie podczas rejestracji czy istnieje taki User

0

Hej.

Na stronie chciałbym dodać możliwość rejestracji, unikatowy musi być adres email dla każdego użytkownika. Podczas tworzenia tabeli "users" dodałem że wiersz 'email' jest UNIQUE. Co podczas próby dodania takiego samego maila wywala błąd, że mail jest duplicate itd.

Czy mój sposób jest poprawny:

$haslo = md5(sha1('jakies_tam_haslo'));

$insert_user = "INSERT INTO `crm`.`users` 
(`id`, `firstname`, `lastname`, `email`, `password`, `reg_date`, `permissions`) 
VALUES 
(NULL, 'Antek', 'Antoni', '[email protected]', '".$haslo."', '2016-03-16 00:00:00', '1')";

mysqli_query($link, $insert_user );

if(mysqli_error($link)){
	if (strpos(mysqli_error($link), 'Duplicate entry') !== false && strpos(mysqli_error($link), 'mail') !== false)
	{
		die("Jest taki ktoś.");
	}
}

Wydaje mi się to trochę mało profesjonalne rozwiązanie, bo po prostu w treści błędu wyszukuję słów "Duplicate entry" i "mail". Mógłbym najpierw zrobić zapytanie do SQL czy istnieje rekord o takim mailu ale to będzie wymagało dodatkowych linijek kodu i łączenia się z bazą. Moje rozwiązanie wydaje się być szybsze.

2
  1. md5(sha1 WTF?
  2. Wyczuwam w twoim prawdziwym kodzie SQLInjection ;]
  3. Sama weryfikacja wygląda ok.

1 użytkowników online, w tym zalogowanych: 0, gości: 1