![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 6.05.2009 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
Hej,
Przy wkladaniu uzytkownika do bazy losuje 20 znakowy ciag liczb i liter i umieszczam go w komorce tabeli id_unique:
ten id_unique musi byc unikalny i nie moze sie powtarzac, wiem ze jest bardzo male prawdopodobienstwo ze wylosuje taki sam ciag znakow ale jednak takie prwdopodobienstwo jest. A ja musze dac zabezpieczenie. Musze sparwdzic czy w tabeli w bazie jest juz taki id_unique ktory wlasnie zostal wylosowany i jezeli jest to wylosowac kolejny. Nie mialabym problemu gdybym miala to zrobic tylko raz. Sprawdzilabym to prosty ifem i jezeli juz taki by instnial wygenerowalbym kolejny $id_unique. Ale co gdyby po raz 2 wylosowal sie taki ktory juz istenieje w bazie. Wszytsko musialabym powtorzyc od poczatku. Chcialabym to jakas zapetlic ale nie mam juz zadnego pomyslu, probowalam roznych petli jednak ciage laduje w slepym zaulku.. prosze o podpowiedz.. bede wdzieczna ![]() |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 56 Dołączył: 3.06.2010 Skąd: Tarnowskie Góry Ostrzeżenie: (0%) ![]() ![]() |
A nie lepiej użyć md5 z autoinkrementowanego id?
Jeśli nie to można dać na to pole index unique i jeśli insert zwróci błąd powtórzonego klucza to losujesz jeszcze raz i znowu próbujesz zrobić inserta. I tak aż do skutku w pętli do-while. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 6.05.2009 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
A czy moglbys mi nakreslic jak ta petla mialaby wygladac i jakie warunki uzyc, bo wlasnie z tym mam problem..
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 56 Dołączył: 3.06.2010 Skąd: Tarnowskie Góry Ostrzeżenie: (0%) ![]() ![]() |
Nie pamiętam jaki to kod błędu, ale jeden z tych dwóch http://dev.mysql.com/doc/refman/5.0/en/err...rror_er_dup_key -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 6.05.2009 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
dziekuje, wyglada sensowie, zaraz to sobie dopasuje
![]() a jednak sobie do konca nie poradzilam, nie wiem co mam wpisac w warunku while.. jak wpisuje while (1) to petla dziala bez konca.. robie tak:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 14:43 |