Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Wielokrotna weryfikacja unikalności
max_mcee
post 5.07.2018, 13:47:02
Post #1





Grupa: Zarejestrowani
Postów: 148
Pomógł: 1
Dołączył: 25.09.2007

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


Mam o to taki skrypt:
  1. $link = substr(sha1(rand(1,10000)), 0, 8);
  2.  
  3. $sql = "SELECT `link` FROM `links` WHERE `link` = '$link'";
  4. $res = mysqli_query($c, $sql);
  5.  
  6. if(!$res) {
  7. echo 'Error: ' . mysqli_error($c);
  8. } else {
  9. if(mysqli_num_rows($res) == 0) {
  10. //element nie istnieje w bazie danych - dalsza część skryptu
  11. } else {
  12. //powrót do wygenerowania $link i ponowne sprawdzenie unikalności
  13. }
  14. }


Założenie jest takie, że sprawdzam w bazie danych czy istnieje już taki link i jeżeli nie, to go zakładam, natomiast jeżeli istnieje, to chciałbym na nowo wygenerować link i ponownie sprawdzić go tą regułą.
Nie wiem jak do tego podejść. Proszę o pomoc.
Go to the top of the page
+Quote Post
nospor
post 5.07.2018, 14:07:07
Post #2





Grupa: Moderatorzy
Postów: 34 226
Pomógł: 5672
Dołączył: 27.12.2004




zwykla petla

  1. while (true) {
  2. $link = substr(sha1(rand(1,10000)), 0, 8);
  3.  
  4. $sql = "SELECT `link` FROM `links` WHERE `link` = '$link'";
  5. $res = mysqli_query($c, $sql);
  6.  
  7. if(mysqli_num_rows($res) == 0) {
  8. //wychodzimy bo nie ma elementy w bazie
  9. break;
  10. }
  11. }
  12. // dalsza czesc skryptu


--------------------

Najlepsze kawałki programistyczne || Dowcipy o informatykach || Forum PHP dla opornych
Klasy: Pager (stronicowanie) | Cache | ShoutBox (Chat) | Widok | Ładne url'e

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
max_mcee
post 5.07.2018, 14:16:42
Post #3





Grupa: Zarejestrowani
Postów: 148
Pomógł: 1
Dołączył: 25.09.2007

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


Dziękuję smile.gif
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.10.2018 - 11:17