Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> [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


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Takie, że na tym forum trzeba zrobić porządek z przychodzącym coraz to większym stadem ludzi, którzy nie nadają się do programowania a nawet do prostego rozwiązywania problemów, szukania w googlach, używania wyszukiwarki forumowej i MYŚLENIA ! A tym tematem się do nich zaliczyłeś.

Podałeś kod w którym UWAGA nie ma użycia funkcji mysql_num_rows (Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in xxxxx\user_panel.php on line 109). W dodatku nie umiesz czytać podstawowych tematów z działu przedszkole a tam MILIONY RAZY pisze o wyświetlaniu błędu i treści zapytania
  1. $result mysql_query($sql) or die (mysql_error() . $sql);


Ten post edytował wookieb 29.08.2009, 21:37:16


--------------------
Go to the top of the page
+Quote Post
Suh
post
Post #3





Grupa: Zarejestrowani
Postów: 112
Pomógł: 27
Dołączył: 24.08.2007
Skąd: Tarnów

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


A zamiast mysql_fetch_row użyj poprostu mysql_num_rows i sprawdzaj czy zwraca ilość wierszy >0.


--------------------
Pomogłem ? Odwdzięcz się, kliknij POMÓGŁ.
Go to the top of the page
+Quote Post
Pawel_W
post
Post #4





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


tak, może być pokazał ten kawałek z mysql_num_rows winksmiley.jpg

EDIT:
~Suh padłem jak to przeczytałem, zauważyłeś treść błędu?

Ten post edytował Pawel_W 29.08.2009, 21:38:12
Go to the top of the page
+Quote Post
sadistic_son
post
Post #5





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

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


Dobra zły error przekopiowałem ok?
Powinien byc:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in xxxxx\user_panel.php on line 109

num_rows tez nie dziala:
  1. $query = "SELECT COUNT(*) FROM t_users WHERE email='".$email."' AND id_user<>'".$id."' ";
  2.  
  3. $result=mysql_query($query);
  4. $num=mysql_num_rows($result);
  5.  
  6. if($num>0){
  7. $error='Nazwa zajeta';
  8. }


Ten post edytował sadistic_son 29.08.2009, 21:51:02


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
Pawel_W
post
Post #6





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


no bo tak masz zazwyczaj jak zwróci 0 wyników...
Go to the top of the page
+Quote Post
sadistic_son
post
Post #7





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

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


Znalazłem błąd. Na początku skryptu mam łączenie z bazą. A przy edycji danych jak jest spełniony pewien warunek to następowało mysql_close przez co niemozliwe bylo wykonanie mysql_query.
Tak wiec dzieki za zainteresowanie a Tobie wookieb dzięki za złośliwość, zupełnie zbędny sarkazm i wywróżenie mi z jednej linijki błędu do czego się nadaję a do czego nie. Stary uświadomiłeś mi, że ze złym zawodem wiążę swe życie! Dzięki! W takiej sytuacji chyba otworzę stragan z warzywami i będę szczęśliwy:)


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
thek
post
Post #8





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


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
wookieb
post
Post #9





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(sadistic_son @ 29.08.2009, 23:07:36 ) *
Tak wiec dzieki za zainteresowanie a Tobie wookieb dzięki za złośliwość,

Cała przyjemność po mojej stronie.

Cytat(sadistic_son @ 29.08.2009, 23:07:36 ) *
zupełnie zbędny sarkazm

Jak dla ciebie.
Cytat(sadistic_son @ 29.08.2009, 23:07:36 ) *
i wywróżenie mi z jednej linijki błędu do czego się nadaję a do czego nie.

Wystarczyło, że spojrzałem w twoją bogatą listę żałosnych tematów z problemami typu "NIE KUMAM CO TUTAJ MI TO WYSKAKUJE. JAKIEŚ BŁĘDY!" połączone z nieumiejętnością samodzielnego myślenią oraz... (czytaj mój pierwszy post w tym temacie)

Cytat(sadistic_son @ 29.08.2009, 23:07:36 ) *
Stary uświadomiłeś mi, że ze złym zawodem wiążę swe życie! Dzięki! W takiej sytuacji chyba otworzę stragan z warzywami i będę szczęśliwy:)

Będę pierwszym klientem, który kupi od ciebie kabaczka.

Ten post edytował wookieb 29.08.2009, 22:16:47


--------------------
Go to the top of the page
+Quote Post
Ociu
post
Post #10





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Skończmy dyskusję. Zamykam.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 11:18