Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL][PHP] Sprawdzenie czy user_name juz istnieje
sadistic_son
post
Post #1





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Przy rejestracji nowego usera nastepuje sprawdzenie czy podana nazwa istnieje w bazie. Jesli tak to wywali error, jesli nie to doda usera do bazy. I to dziala bezblednie. Ale skrypcik edycji wlasnego konta juz nie dziala. User moze zmienic swoja nazwe i staram sie zrobic tak zeby nie mogl jej zmienic na taka ktora juz istnieje. Wyglada to tak:
  1. $query = "SELECT COUNT(*) FROM t_users WHERE name='$name' AND id_user!='$id' ";
  2.  
  3. $result=mysql_query($query);
  4. $row=mysql_fetch_row($result);
  5. if($row[0]>0){
  6. $error='Nazwa jest juz zajeta!';
  7. }
Oczywiscie w powyzszym sprawdzeniu pomijamy siebie samego zeby w przypadku nie zmienienia nazwy nie wywalilo erroru ze user juz istnieje.
I w tym momencie wywala mi taki blad:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in xxxxx\user_panel.php on line 109

Jakieś pomysły?

Ten post edytował sadistic_son 29.08.2009, 21:30:43
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Jedna rzecz... Wywołanie JAKIEGOKOLWIEK zapytania które ma w sobie count() tylko ZAWSZE zwróci jeden rekord i będzie on zawierał wiersz z polem podającym ilość. Musisz w takim wypadku odczytać jego zawartość by poznać czy jest tam 0 czy liczba większa od 0
A zmiana nazwy nie różni się NICZYM od dodawania nowego usera. I tak musisz sprawdzić czy taki NAME już w bazie jest i nie obchodzi Cię nic więcej. Nie ma? Zamieniasz. Jest? To nie zamieniasz. Nie musisz porównywać żadnych Id czy czegokolwiek.

Ten post edytował thek 29.08.2009, 22:16:22
Go to the top of the page
+Quote Post

Posty w temacie


Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 04:56