Mam unikalny zestaw kluczy dla wiersza bazy danych mysqlwięc nie wstawiaj duplikatów na formularzu. Działa to dobrze, ale jeśli istnieje duplikat, strona nie ładuje się. Zamiast tego użytkownik otrzymuje ostrzeżenie: Duplicate entry """ for key ""
Jak mogę wyłączyć ten błąd i załadować stronę, nawet jeśli istnieje duplikat klucza, a jednocześnie używać unikalnego klucza w wierszu? Próbowałem wyłączyć raport o błędzie, ale to nie zadziałało.
mysql_query("INSERT INTO user
(formemail,UserIP,Timestamp,LP) VALUES("$email","$userip",NOW(),"$lp") ")
or die(mysql_error());
Odpowiedzi:
5 dla odpowiedzi № 1Musisz zmienić wstawkę SQL do użycia INSERT ... ON DUPLICATE KEY UPDATE Składnia więc błąd nie jest generowany w pierwszej kolejności.
Nie próbuj ukryć symptomu, potraktuj problem.
Muszę również podkreślić, że Biblioteka mysql jest przestarzała i nie należy go używać do nowego kodu, powinieneś przynajmniej użyć mysqli lub najlepiej CHNP. Jest coś dobrego tutorial na temat PDO tutaj jeśli jesteś zainteresowany nauką.