Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ukrywanie prawdziwego ID
dizor
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 17.09.2009

Ostrzeżenie: (0%)
-----


Chcę ukryć prawdziwe ID rekordu - wymyśliłem, żeby generować jakiś losowy ciąg znaków i wrzucać go do wiersza, a następnie posługiwać się nim podczas wybierania odpowiedniego wiersza. Co w przypadku kiedy wygeneruje mi się taki który jest już w bazie? Sprawdzać czy insert wykonał się prawidłowo, jeśli nie to generować jeszcze raz random i znowu insert?

Macie może jakiś inny pomysł?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Przekombinowałeś. Po prostu użyj pola CHAR(8), które będzie kluczem głównym. Jego tworzenie może wyglądać chociażby tak:
  1. $pk = substr(uniqid(), 0, 8);
Sprawdzanie czy takie ID jest w bazie to po prostu:
  1. SELECT COUNT(*) FROM tblName WHERE id = "$pk";
Jeżeli zwróci 1 to trzeba wygenerować nowy klucz i ponownie sprawdzić czy taki już nie jest użyty.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 20:46