Autor Zpráva
Gecko
Profil *
Zdravím,
rád bych se Vás zeptal, jak lze ošetřit duplicitu znaků při vkládání do mysql db (metoda post).
Mám formulář a nechci, aby se mi objevil 2x stejný email nebo jméno při výpisu.

Děkuji.
joe
Profil
Stačí dát na sloupec unikátní index.
Gecko
Profil *
Trochu česky prosím :)
Mě jde o to, aby se při zápisu objevila chyba, že je jméno nebo email již v databázi.
joe
Profil
Trochu vlastní iniciativy, prosím přesunout do databází.
Moderátor Chamurappi: Staniž se.

V MySQL přidat unikátní index sloupci, který má být unikátní. Unikátní = jedinečný.

Při vkládání pak dojde k chybě 1062 - duplikování záznamu. Tuto chybu je nutné odchytit a vypsat příslušnou zprávu.
mark92
Profil
Chcelo by to viac konkretizovať problém. Okrem toho raz spomínaš výpis, raz zápis. Ak sa týka napr. toho, že pri registrácii sa nemôže v databáze objaviť užívateľ napr. s rovnakým menom, potom ti pomôže toho:
$_POST["nick"] = "fero123";
mysql_unbuffered_query("SELECT SQL_CALC_FOUND_ROWS nick FROM tabulka WHERE nick='".$_POST["nick"]."');
if (mysql_result(mysql_query("SELECT FOUND_ROWS()"),0)>0)
  echo = "Prezývku, ktorú ste zadali, už niekto používa.";

Ak sa tvoj problém týka výpisu dát z databázy, pričom nechčes vypísať záznamy, v ktorých 2 ľudia majú rovnaký e-mail, alebo meno, potom sa tvoj problém bude týkať zoskupovania záznamov.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0