Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] mysql_fetch_row zwraca złą wartość
piotrekkr
post 4.03.2006, 18:27:00
Post #1





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


witam! mam taka baze a w niej tabele `Banned` w ktorej mam identyfiktory zabanowanych uzytkownikow formu. Kolumna nazywa sie `UserId`. Jest w niej jedno UserId=23. config.php zawiera dane bazy adres nazwe bazy itd.

mam teraz taki skrypt ktory sprawdza czy uzytkownik o podanym UserId jest w bazie jak tak to wypisuje 'TAK' a jak nie to wypisuje 'NIE'.
  1. <?php
  2. function czy_ban($UserId){
  3. include('config.php');
  4. $query="SELECT COUNT(*) FROM `Banned` WHERE `UserId`=$UserId";
  5. if(!$polaczenie=mysql_connect($baza['serwer'],$baza['login'],$baza['haslo'])){
  6.   return '<div class="blad">USER_BAN_BLAD_POLACZENIA</div>';
  7. }else if(!mysql_select_db($baza['nazwa_bazy'])){
  8.   return '<div class="blad">USER_BAN_BLAD_WYBORU_BAZY</div>';
  9. }else if(!$wynik_zapytania=mysql_query($query)){
  10.   return '<div class="blad">USER_BAN_BLAD_ZAPYTANIA</div>';
  11. }else if($tab_wynikowa=mysql_fetch_row($wynik_zapytania)===FALSE){
  12.   return '<div class="blad">USER_BAN_BLAD_WYNIKU_ZAPYTANIA</div>';
  13. }else if($tab_wynikowa[0]==1){
  14.   return 'TAK';
  15. }else if($tab_wynikowa[0]==0){
  16.   return 'NIE';
  17. }else{
  18. return 'BLAD';
  19. };
  20. };
  21. ?>


teraz jest jeden problem zawsze wypisuje ze NIE. Dziwne to troche bo przeciez COUNT(*) powinno zwrocic 1 w wyniku? Jak proboje wyswietlic wartosc $tab_wynikowa[0] to mi nic nie wyswietla. Wie ktos czemu tak jest bo jest dobrze jak wpisze to zapytanie w konsoli to mu wyswietla tabelke a w niej wartosc 1? Pomozcie bo trace juz do tego sily angrysmiley.gif . dzieki i pozdrawiam

Ten post edytował nospor 4.03.2006, 19:56:45
Go to the top of the page
+Quote Post
nospor
post 4.03.2006, 19:56:00
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




problem co tu przedstawiasz ma maly problem z php5 (prócz moze tego, ze ty go na pp5 uruchamiasz).
Problem lezy w twojej dziwnej strukturze opartej na jeden wielki if winksmiley.jpg
konkretnie o tę linijkę chyba chodzi
  1. <?php
  2. else if($tab_wynikowa=mysql_fetch_row($wynik_zapytania)===FALSE)
  3. ?>

najpierw jest chyba robione porowanie: mysql_fetch_row($wynik_zapytania)===FALSE a dopiero potem przypisanie wyniku tego porownania czyli false. stad ten blad. powinno byc:
  1. <?php
  2. else if(($tab_wynikowa=mysql_fetch_row($wynik_zapytania))===FALSE)
  3. ?>
wogole to powinno byc po ludzku a nie na jednym ifie wszystko smile.gif

ps: przenoszę na przedszkole


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
piotrekkr
post 4.03.2006, 20:36:20
Post #3





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


ok sprobowalem i dalej to samo :/ troszke mnie to irytuje. sproboje jeszcze inaczej teraz zrobilem tak:
  1. <?php
  2. function czy_ban($UserId){
  3. include('config.php');
  4. $query="SELECT COUNT(*) FROM `Banned` WHERE `UserId`=$UserId";
  5. if(!$polaczenie=mysql_connect($baza['serwer'],$baza['login'],$baza['haslo'])){
  6.   return '<div class="blad">USER_BAN_BLAD_POLACZENIA</div>';
  7. }else if(!mysql_select_db($baza['nazwa_bazy'])){
  8.   return '<div class="blad">USER_BAN_BLAD_WYBORU_BAZY</div>';
  9. }else if(!$wynik_zapytania=mysql_query($query)){
  10.   return '<div class="blad">USER_BAN_BLAD_ZAPYTANIA</div>';
  11. }else{
  12.   $tab_wynikowa=mysql_fetch_row($wynik_zapytania);
  13.   if($tab_wynikowa==FALSE){
  14.   return '<div class="blad">USER_BAN_BLAD_WYNIKU_ZAPYTANIA</div>';
  15.   }else if($tab_wynikowa[0]==1){
  16.   return 'Tak';
  17.   }else if($tab_wynikowa[0]==0){
  18.   return 'Nie';
  19.   }else{
  20.   return 'blad';
  21.   };
  22.   };
  23. };
  24.  
  25. ?>

i teraz dziala tamte nawiasy nic nie daly ale dzieki za zainteresowanie.

Ten post edytował piotrekkr 4.03.2006, 20:41:27
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: 12.07.2025 - 19:19