Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Warning: mysql_fetch_array():
Onimod
post 25.07.2010, 19:48:04
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 25.07.2010

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


Witam

widziałem kilka tematów o tym tutaj na forum ale nie potrafię zastosowanych tam rozwiązań przenieść na swój problem jak to zazwyczaj robię z informacjami znalezionymi na tym forum...

Więc do rzeczy :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\WebServ\httpd\###\###\#####.php on line 74

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\WebServ\httpd\###\#####.php on line 86

Próbuję rozwiązać ten problem od kilku godzin...
O to fragment kodu, zawierający linie stwarzające mi problem
  1. function PobierzWynik()
  2. {
  3.  
  4. global $WynikZapytania;
  5.  
  6. while($wiersz = mysql_fetch_array
  7. ($WynikZapytania,MYSQL_ASSOC))
  8.  
  9. {
  10. $RezultatZapytania[] = $wiersz;
  11. }
  12. return $RezultatZapytania;
  13. }
  14.  
  15. function PobierzIlosc()
  16. {
  17. global $WynikZapytania;
  18. $IloscRekordow =
  19. mysql_num_rows($WynikZapytania);
  20. return $IloscRekordow;
  21. }
  22.  
  23.  
  24.  


Proszę o pomoc sad.gif

Ten post edytował Onimod 25.07.2010, 19:49:29
Go to the top of the page
+Quote Post
Skie
post 25.07.2010, 19:51:41
Post #2





Grupa: Zarejestrowani
Postów: 555
Pomógł: 84
Dołączył: 20.02.2008
Skąd: Małopolska

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


Problem nie tkwi w tym kodzie, lecz w zapytaniu MySQL, które jest albo błędne albo odwołuje się do bazy, tabeli lub też pola, które nie istnieje.


--------------------
Wieloprocesowość i wielowątkowość w PHP, poznaj Kraken PHP!
Serwer HTTP i WebSocket w PHP | Promise/A+
Strona Domowa | Elradia MMORPG
FireFox: make the web better.
Go to the top of the page
+Quote Post
everth
post 25.07.2010, 19:57:51
Post #3





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


Masz problem ze zmienną $WynikZapytania. Napisz co ci wyrzuci coś takiego
  1. var_dump($WynikZapytania);


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
bastard13
post 25.07.2010, 19:58:46
Post #4





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


Dodaj sobie echo $WynikZapytania; po każdej operacji na tej zmiennej i zobacz, w którym momencie się gubi. A poza tym to lepiej jest przesyłać argumenty do funkcji, ponieważ wtedy będziesz mógł tej funkcji użyć przy innych okazjach, a jeżeli używasz global, to nawet taka drobnostka jak zmiana nazwy zmiennej zmusza cię do licznych zmian w kodzie.


--------------------
Go to the top of the page
+Quote Post
Onimod
post 25.07.2010, 20:00:47
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 25.07.2010

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


var_dump($WynikZapytania); zwrócił "NULL"
Go to the top of the page
+Quote Post
Skie
post 25.07.2010, 20:07:19
Post #6





Grupa: Zarejestrowani
Postów: 555
Pomógł: 84
Dołączył: 20.02.2008
Skąd: Małopolska

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


Czyli wniosek, że taka zmienna nie istnieje. Pokaż fragment kodu, w którym wykonujesz zapytanie MySQL.


--------------------
Wieloprocesowość i wielowątkowość w PHP, poznaj Kraken PHP!
Serwer HTTP i WebSocket w PHP | Promise/A+
Strona Domowa | Elradia MMORPG
FireFox: make the web better.
Go to the top of the page
+Quote Post
Onimod
post 25.07.2010, 20:23:14
Post #7





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 25.07.2010

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


  1. if($BazaDanych == 'mysql')
  2. {
  3. $ZapytanieArtykul = 'SELECT
  4. artykul_id, artykul_tytul, artykul_wstep,
  5. artykul_autor, artykul_czytan, artykul_keyword
  6. FROM
  7. '.$PrefixTabelek. 'artykuly
  8. ORDER BY artykul_id DESC
  9. LIMIT '.addslashes($ZacznijOd).',10';
  10. }
  11.  
  12. if(!WykonajZapytanie($ZapytanieArtykul))
  13. {
  14. PokazBlad('Bład w zapytaniu',
  15. __FILE__,__LINE__,$ZapytanieArtykul);
  16. }
  17.  
  18.  
  19. $Wynik = PobierzWynik();
  20. $IleWynikow = PobierzIlosc();
  21.  
  22. for($n=0;$n<$IleWynikow;$n++)
  23. {
  24. echo '<h2><a href="artykuly.php?czytaj=tak$artykul_id=
  25. '.$Wynik[$n] ['artykul_id'].'"
  26. title="'.$Wynik[$n] ['artykul_keyword'] .'">'
  27. .stripslashes($Wynik[$n]['artykul_tytul']).'</a></h2>';
  28. echo '<p>'.$JezykModulu['artykul_autor'].
  29. stripslashes($Wynik[$n] ['artykul_autor']).',
  30. '.$JezykModulu['artykul_czytan'].
  31. stripslashes ($Wynik[$n]['artykul_czytan']).'</p>';
  32. echo '<p>'.stripslashes($Wynik[$n]['artykul_wstep']).'</p>';
  33. }
  34. }
  35. ?>
Go to the top of the page
+Quote Post
muk4
post 25.07.2010, 20:31:50
Post #8





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

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


Daj
  1. echo $ZapytanieArtykuł;

wklej to ci ci wyświetliło do phpmyadmina(jeśli masz) i on ci pokaże błąd. Jak nie to chociaż pokaż tutaj.
Go to the top of the page
+Quote Post
Onimod
post 25.07.2010, 20:54:09
Post #9





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 25.07.2010

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


  1. SELECT *
  2. FROM `str_artykuly`
  3. WHERE 1
  4. SELECT artykul_id, artykul_tytul, artykul_wstep, artykul_autor, artykul_czytan, artykul_keyword
  5. FROM cmslm_artykuly
  6. ORDER BY artykul_id DESC
  7. LIMIT , 10
  8.  
  9. MySQL zwrócił komunikat:
  10.  
  11. #1064 - Something is wrong in your syntax obok 'SELECT artykul_id, artykul_tytul, artykul_wstep, artykul_autor, artykul_czytan, ' w linii 2
  12.  
  13.  
  14.  
  15.  
Go to the top of the page
+Quote Post
everth
post 25.07.2010, 20:56:19
Post #10





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


To jest jedno zapytanie czy 3 w jednym?


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
Onimod
post 25.07.2010, 20:59:47
Post #11





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 25.07.2010

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


boże co ja do tego phpmyadmin wrzucilem...

tak mialo byc
  1. SELECT *
  2. FROM `str_artykuly`
  3. WHERE artykul_id, artykul_tytul, artykul_wstep, artykul_autor, artykul_czytan, artykul_keyword
  4. ORDER BY artykul_id DESC
  5. LIMIT , 10
  6.  
  7. MySQL zwrócił komunikat:
  8.  
  9. #1064 - Something is wrong in your syntax obok ' artykul_tytul, artykul_wstep, artykul_autor, artykul_czytan, artykul_keyword OR' w linii 2


Go to the top of the page
+Quote Post
everth
post 25.07.2010, 21:03:21
Post #12





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


Bo to co wkleiłeś jest dalej bez sensu. Co robi to:
  1. WHERE artykul_id, artykul_tytul, artykul_wstep, artykul_autor, artykul_czytan, artykul_keyword

Zobacz jak pójdzie to:
  1. SELECT * FROM `str_artykuly` ORDER BY artykul_id DESC LIMIT 1, 10


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
bastard13
post 25.07.2010, 21:03:47
Post #13





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


Dodaj jeszcze do LIMIT to co miałeś w zmiennej $ZacznijOd, ponieważ teraz nie brakuje ci pierwszego argumentu.


--------------------
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: 8.07.2025 - 21:47