Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php/mysql] jak sprawdzic czy rekord istnieje w bazie danych?
szasza
post 30.04.2009, 22:00:19
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 10.01.2009

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


witam.
Mam baze danych o nazie "baza" i tabele o nazwie "users". Tabela zawiera pola: userID, login, password, pytanie, odpowiedz, access, imie, nazwisko, plec, adres, miasto, kod_poczt, data_urodz, telefon. mam zrobiony formulaz rejestracyjny (ktory dziala oczywiscie ;p), problem tylko w tym jak sprawdzic czy dany login juz nie istnieje w bazie i w razie gdy istnieje przezucil nas do strony blad.htm, w przypadku gdy nie istnieje zapisal wszystkie dane do bazy danych.
z gory diekuje za pomoc
Go to the top of the page
+Quote Post
PawelC
post 30.04.2009, 22:03:53
Post #2





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


Np przy pomocy mysql_num_rows
  1. <?
  2. require 'config.php';
  3.  
  4.  
  5.  
  6. $login = trim($_POST['login']);
  7. $loguj="select login from users where login='$login'";
  8. $rekordy = mysql_query($loguj);
  9. if(mysql_num_rows($rekordy)==0)
  10. {
  11. //co jak nie istnieje
  12. }
  13. else
  14. {
  15. //jeżeli login istnieje w bazie
  16. }
  17.  
  18. ?>


Ten post edytował ExPlOiT 30.04.2009, 22:08:18
Go to the top of the page
+Quote Post
zelu
post 1.05.2009, 09:44:08
Post #3





Grupa: Zarejestrowani
Postów: 229
Pomógł: 34
Dołączył: 7.12.2008
Skąd: Poznań

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


Możesz tez użyć funkcji agregującej COUNT ("wbudowanej" w MySQL)

  1. SELECT COUNT(login) FROM users WHERE login = '$login'


Funkcja ta zwroci CI jeden wiersz, w którym będzie zapisane ile jest wierszy w bazie, gdzie pole login jest równe szukanemu. I teraz jezeli cos znajdzie(wartosc != 0) to dajesz blad, a jezeli nie (zwroci 0) no to rejestrujesz delikwenta :]

Pozdro

Ten post edytował zelu 1.05.2009, 09:44:59
Go to the top of the page
+Quote Post
szasza
post 2.05.2009, 13:26:55
Post #4





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 10.01.2009

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


dzieki wam wielkie za pomoc smile.gif
Go to the top of the page
+Quote Post
gregi
post 4.02.2015, 17:05:37
Post #5





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 11.09.2003

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


w moich googlach jest po pierwszy wynik na rozwiązanie, a to stary wątek i możliwe że nieaktualne dane

jakie alternatywne rozwiązanie proponujecie zamiast mysql_num_rows bo chyba ta funkcja zostaje wycofywana

Ten post edytował gregi 4.02.2015, 17:07:32
Go to the top of the page
+Quote Post
Pyton_000
post 4.02.2015, 17:11:32
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


mysqli_num_rows lub PDO oraz odpowiednik z zapytaniem i COUNT jak 2 posty wyżej
Go to the top of the page
+Quote Post
gregi
post 4.02.2015, 18:04:09
Post #7





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 11.09.2003

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


a jak to zastosować?
  1. $result2=mysql_query("SELECT COUNT($id_ang_z_kategorii) FROM users WHERE login = $id_ang_z_kategorii");
  2. if($result2)!==0
  3. { }

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: 1.05.2025 - 06:14