![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 17.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Zastanawiam się jak poprawnie powinno być skonstruowany cały proces zapisu danych do bazy?
Mam już pewne dane w bazie odnośnie klientów : nazwisko, imie, pesel, itp. Jak się zabezpieczyć przed tym, aby powtórnie nie wprowadzić tego samego klienta do bazy? Czy wystarczy sprawdzać w bazie czy już taki klient istnieje, np. po peselu? Czy robi się jakies ograniczenia na tabeli, procedurki, indexy? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 4 Dołączył: 30.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
najlepiej jakbyś zrobił osobny plik.php do którego przesyłasz dane z formularza poprzez POST a on po sprawdzeniu czy taki pesel już istnieje i po dodaniu go do bazy przekierowywuje spowrotem na stronę.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
unique index na peselu, przy próbie insertu baza powinna zwrócić wyjątek który przechwytujesz.
-------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 4 Dołączył: 30.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
index jest pewnie lepszym rozwiązaniem ale ja bym to zrobił w ten sposób (nie znam się na indexach
![]()
Ten post edytował Wilwarin 20.09.2012, 09:28:19 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Użyj REPLACE zamiast INSERT
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 56 Dołączył: 3.06.2010 Skąd: Tarnowskie Góry Ostrzeżenie: (0%) ![]() ![]() |
Użyj REPLACE zamiast INSERT To nie jest dobre rozwiązanie, bo sprawdza unikatowość primary key a pesel nie koniecznie musi nim być. Poza tym możesz nadpisać rekordy wstawiając losowe numery pesel, co nie jest raczej wskazane, bo znając twój pesel mógłbym ci zmienić np. nazwisko. Rozwiązanie z indeksem jest lepsze. Chociaż najlepiej chyba sprawdzić czy wpis istnieje, a indeks jako dodatkowe zabezpieczenie. Tak czy inaczej indeks powinien być bo pesel nie ma prawa się powtórzyć (w teorii przynajmniej ![]() -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 07:28 |