Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Mysql_fetch_assoc error
Komarek
post
Post #1





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 18.12.2009

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


Bardzo prosze o pomoc poniewaz nie wiem czemu to nie dziala :/
  1. $wynik = mysql_query("SELECT * FROM amx_bans WHERE player_id=".$_GET['id']." ORDER BY ban_created DESC");
  2. while( $row = mysql_fetch_assoc($wynik))
  3. {
  4. $date = $row['ban_created'];
  5. $player = $row['player_nick'];
  6. $player_id = $row['player_id'];
  7. $duration = $row['ban_length'];
  8. $reason = $row['ban_reason'];
  9. $admin = $row['admin_nick'];
  10.  
  11. if(empty($duration))
  12. {
  13. $duration = "Na zawsze";
  14. }
  15. else
  16. {
  17. $duration = $duration." minut";
  18. }
  19.  
  20.  
  21. echo "<tr>
  22. <td>".$date."</td>
  23. <td>".$player."</td>
  24. <td>".$player_id."</td>
  25. <td>".$duration."</td>
  26. <td>".$reason."</td>
  27. <td>".$admin."</td>
  28. </tr>";
  29. }


blad jest dziwny o_O

Kod
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in (...)/www.php on line 16


Linijka 16 to ta w ktorej uzylem funkcji mysql_fetch_assoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


sprawdź czy nie błędu w zapytaniu po zrób:
Go to the top of the page
+Quote Post
pauluZ
post
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 9.02.2004
Skąd: Toruń

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


Eee tam ....
Kiepski post.
Dużo niepotrzebnego wklejonego kodu (błee), linijka 16 to nie ta która jest w kodzie w poście ....
Sam kod także nieciekawy bo bardzo łatwo podatny na SQL injection.

Komunikat błędu mówi sam za siebie: zmienna $wynik nie jest wynikiem z bazy danych.
Masz kłopoty z połączeniem z bazą albo może masz źle zbudowane zapytanie SQL....

Odpal zapytanie w phpMyAdmin i zobacz co dostajesz...
sprawdz także sobie: var_dump($wynik);

pokombinuj przynajmniej przez pare minut ......
Albo napisz co już sprawdziłeś .....
Go to the top of the page
+Quote Post
Komarek
post
Post #4





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 18.12.2009

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


@pauluZ: twoja odpowiedz raczej nic nie wnosi do tematu.
Pisze dlatego ze juz nie wiem co jest nie tak, a nie ze mam jakis problem to pisze nawet nie sprawdzajac co to za blad.

@topic:
po dodaniu or die(...
blad:
Kod
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Go to the top of the page
+Quote Post
tehaha
post
Post #5





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


spróbuj tak:
  1. $wynik = mysql_query("SELECT * FROM amx_bans WHERE player_id='".$_GET['id']."' ORDER BY ban_created DESC");
Go to the top of the page
+Quote Post
Komarek
post
Post #6





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 18.12.2009

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


problem rozwiazany.
blad byl w
Kod
player_id=".$_GET['id']."

zapomnialem ze player_id to jest nazwa a nie id (IMG:style_emoticons/default/tongue.gif)
brakowalo znakow '
t/c

//edit:
dzieki tehaha leci pomogl ale i tak sam rozwiazalem (IMG:style_emoticons/default/biggrin.gif)

Ten post edytował Komarek 20.06.2010, 14:15:52
Go to the top of the page
+Quote Post
Wicepsik
post
Post #7





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Cytat(Komarek @ 20.06.2010, 15:08:48 ) *
@pauluZ: twoja odpowiedz raczej nic nie wnosi do tematu.
Pisze dlatego ze juz nie wiem co jest nie tak, a nie ze mam jakis problem to pisze nawet nie sprawdzajac co to za blad.

Moim zdaniem jego post dużo wnosi do tematu. Im szybciej nauczysz się zabezpieczyć kod podatny na sql injection tym lepiej. Za parę tygodni przyjdziesz z tematem " Ktoś mi skasował bazę danych! Tylko ja miałem dostęp do niej! "
Go to the top of the page
+Quote Post
pauluZ
post
Post #8





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 9.02.2004
Skąd: Toruń

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


Dzięki @Wicepsik za poparcie.
W moim przekonaniu odpowiedziałem dając interpretację błędu oraz pisząc z trzy wskazówki co można zrobić lub sprawdzić.
Kolega @Komarek pewnie zafixował się na mojej drugiej linijce: "Kiepski post." i odpisał pod chwilowym wpływem emocji:)


Kolejna sugestia (kontynuując myśl @Wicepsika i jeśli autor pierwszego postu godzi się na konstruktywną pomoc z mojej strony) to:
proponuję wykonać nawet prostą analizę $_GET['id'] pod kątem zawartości
- np. wykluczyć występowanie spacji lub średników, etc.
- lub testować długość i tym podobne przygotowanie zmiennej do zapytania.

PS. Cały czas polecam phpMyAdmina do testów zapytań w krytycznych momentach pracy z kodem SQL (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Komarek
post
Post #9





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 18.12.2009

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


napisalem chyba wyraznie wczesniej ze problem zostal rozwiazany wiec znowu spamujecie ...
polecam google do sprawdzenia co znaczy t/c.

//edit:
co do waszych postow to nie mam obowiazku wklejania calego kodu jak rowniez to jest tylko przyklad.
dziekuje za uwage

Ten post edytował Komarek 22.06.2010, 14:10:50
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 20:32