Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie wywołuje dobrego kodu z num_rows.
Forum PHP.pl > Forum > PHP
waqmaz
Powiedzmy, że mam skrypt rejestracji:

  1. function rej($uz, $ha) {
  2.  
  3. $lacz = lacz_bd();
  4.  
  5. $wynik = $lacz->query("select * from uzytkownik where uz=' ".$uz." ' ");
  6.  
  7. if (!$wynik) {
  8. throw new Exception('zapytania nie powiodlo sie.');
  9. }
  10.  
  11. if ($lacz->num_rows>0) {
  12. throw new Exception('taki uzytkownik juz isntieje, wez se inna anzwe.');
  13. }
  14.  
  15. $wynik = $lacz->query("insert into uzytkownik values('" .$uz. "', sha1('" .$ha. "'))");
  16.  
  17. if (!$wynik) {
  18. throw new Exception('rejestracja uzytkownika w bazie nie mozliwa');
  19. }
  20.  
  21. return true;
  22. }


Jak na moje oko wszystko jest dobrze no i oczywiscie uzytkownik sie rejestruje i zostaje dodany do bazy danych. Problem jest taki, że gdy stworzę użytkownika o takiej samej nazwie to zamiast wyświetlać:
  1. throw new Exception('taki uzytkownik juz isntieje, wez se inna anzwe.');
to wyświetla:
  1. throw new Exception('rejestracja uzytkownika w bazie nie mozliwa');

A najlepsze jest to, że skrypt działa, bo nie zostaje dodany do bazy taki sam uzytkownik. Po prostu wyswietla się ten drugi tekst, zamiast pierwszego. Wie ktos jak to rozwiazac? Próbowałem w bloku try, ale nie dziala też. Sorki za pismo jestem troszke na kacu haha.gif
nospor
Tak to jest jak sie nie czyta dokumentacji na temat tego czego się uzywa.
nie: $lacz->num_rows>0
a: $wynik->num_rows>0
waqmaz
Niestety nie działaa też. Czasem te kody to czarna magia.
nospor
NIe:uz=' ".$uz." '
a:uz='".$uz."'
nawwalasz spacji a potem sie dziwisz ze Janek bez spacji jest rozny od Janek ze spacjami
waqmaz
Dzięki stary! Wszystko działą jak należy. W życiu mi by to do głowy nie przyszło, że nie może być spacji O.o smile.gif)
nospor
Przeciez widac jak na tacy ze te dwa teksty:
' Janek '
'Janek'
są różne. Nie wiem więc skad te ździwienie. Spacja to znak jak kazdy inny. Wiec jak tekst rozni się znakami to nie jest taki sam - logiczne
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.