Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql] jak sprawdzic czy rekord istnieje w bazie danych?
Forum PHP.pl > Forum > Bazy danych > MySQL
szasza
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
PawelC
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. ?>
zelu
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
szasza
dzieki wam wielkie za pomoc smile.gif
gregi
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
Pyton_000
mysqli_num_rows lub PDO oraz odpowiednik z zapytaniem i COUNT jak 2 posty wyżej
gregi
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. { }

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.