Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mysql_fetch_array(): supplied argument is not...
Forum PHP.pl > Forum > Bazy danych > MySQL
Arek00
W CHIPIe 8/2004 jest podany skrypt statystyk. Zainstalowałem go na serwerze z php 4.2.2 i mysql 3.23.58 i pojawił mi się taki błąd:

  1. mysql_fetch_array(): supplied argument IS NOT a valid MySQL result resource IN Statystyki.php ON line 129


poniżej zamieszczam fragment kodu z zaznaczoną linią 129

  1. <?php
  2. $q="SELECT HOUR(data) AS godz,klikniecia,browser FROM ".$this->nazwa." WHERE data>='".$data1."' AND data<'".$data2."' ORDER BY data";
  3. $r=mysql_query($q);
  4. >>129<< while ($row = mysql_fetch_array($r, MYSQL_ASSOC)) {
  5. $this->wejscia+=$row['klikniecia'];
  6. $this->sesje++;
  7. if((ereg("Nav", $row['browser'])) || (ereg("Gold", $row['browser'])) || (ereg("X11", $row['browser'])) || (ereg("Mozilla", $row['browser'])) || (ereg("Netscape", $row['browser'])) AND (!ereg("MSIE", $row['browser']) AND (!ereg("Konqueror", $row['browser'])))) $this->przegladarka["Netscape"]+=$row['klikniecia'];
  8. elseif(ereg("MSIE", $row['browser'])) $this->przegladarka["IE"]+=$row['klikniecia'];
  9. elseif(ereg("Lynx", $row['browser'])) $this->przegladarka["Lynx"]+=$row['klikniecia'];
  10. elseif(ereg("Opera", $row['browser'])) $this->przegladarka["Opera"]+=$row['klikniecia'];
  11. else $this->przegladarka["inne"]+=$row['klikniecia'];
  12. if(ereg("Win", $row['browser'])) $this->os["Win"]+=$row['klikniecia'];
  13. elseif((ereg("Mac", $row['browser'])) || (ereg("PPC", $row['browser']))) $this->os["Mac"]+=$row['klikniecia'];
  14. elseif(ereg("Linux", $row['browser'])) $this->os["Linux"]+=$row['klikniecia'];
  15. elseif(ereg("FreeBSD", $row['browser'])) $this->os["FreeBSD"]+=$row['klikniecia'];
  16. else $this->os["inne"]+=$row['klikniecia'];
  17. $this->godziny[$row['godz']]+=$row['klikniecia'];
  18. }
  19. ?>


skąd ten błąd? czy to może chodzi o to że jest stare mysql?
nospor
generuje ci sie bledne zapytanie. zrob tak i pokaz co ci wypisze:
  1. <?php
  2. $q="SELECT HOUR(data) AS godz,klikniecia,browser FROM ".$this->nazwa." WHERE data>='".$data1."' AND data<'".$data2."' ORDER BY data";
  3. echo 'zapytanie :'.$q.'<br />';
  4. $r=mysql_query($q) or die(mysql_error());
  5. ?>
Arek00
Zrobiłem tak jak powiedziałeś i... naprawiłem smile.gif

Okazało się że była źle wpisana nazwa bazy w pliku konfiguracyjnym.

Dziękuję i pozdrawiam
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.