Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Problem z MySQL
Forum PHP.pl > Forum > Przedszkole
thomson89
Witam!

Prosty kod, zwraca mi dwa errory. Nie wiem czym to jest spowodowane. Zapytania są poprawne, testowałem w PhpMyAdmin. Dlaczego tak się dzieje?

Kod
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home2/gla10000/public_html/tresc/bizuteria/galeria_wszystkie.php on line 58

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home2/gla10000/public_html/tresc/bizuteria/galeria_wszystkie.php on line 78


  1. //laczenie z baza danych
  2. $polaczenie = polacz($serwer, $baza, $uzytkownik, $haslo);
  3.  
  4. //zapytania
  5. $query1 = 'SELECT * FROM `wyroby` ORDER BY RAND() LIMIT '.$start.', '.$perPage;
  6. $query2 = 'SELECT * FROM `wyroby`';
  7.  
  8. //wyniki
  9. $result = mysql_query($query1);
  10. $result2 = mysql_query($query2);
  11.  
  12. /* ----------
  13.   WYNIKI
  14. ---------- */
  15.  
  16. print '<table cellspacing="2">';
  17. while($record = mysql_fetch_assoc($result)) {
  18. //wyswietlanie wynikow
  19. print '<tr><td align="right" width:247px;">';
  20. //zdjęcie
  21. print '<a href="wyroby/'.$record['kat_zd'].$record['nazwa_zd'].'" rel="lightbox[wyroby]" title="Symbol: '.$record['symbol'].'">';
  22. print '<img src="wyroby/'.$record['kat_zd_m'].$record['nazwa_zd_m'].'" /></a>';
  23. print '</td><td valign="top">';
  24. print '<br><b>Symbol: </b>'.$record['symbol'].'<br>';
  25. print '<b>Cena: </b>'.$record['cena'].'<br><b>Opis: </b>'.$record['opis'].'<br>';
  26. print '</td></tr>';
  27.  
  28. }
  29. print '</table>';


EDIT: Dodałem
  1. if($polaczenie)
  2. echo 'OK!';

Co zwróciło mi na stronie
Kod
OK!
Zosiek
A daj tak
  1. $query1 = 'SELECT * FROM `wyroby` ORDER BY RAND() LIMIT '.$start.', '.$perPage.'';
thomson89
To nic nie dało.
thek
Sprawdź jak te zapytania wyglądają idac do bazy (jakieś echo czy coś w tym stylu). Może start i/lub perPage się nie inicjalizują, przez co idzie zbugowane do bazy i wywala się przy mysql_query. Zawsze możesz wyświetlić też mysql_error() smile.gif
iVorIus
  1. $query1 = "SELECT * FROM wyroby ORDER BY RAND() LIMIT '" . $start . "', '" . $perPage . "'";


O to chodzi?
thomson89
Już tak próbowałem...

echo $result zwraca jakieś słowo chyba resources i #10 lub #9 na końcu.
piotrooo89
a co zwraca Ci mysql_error()?
thek
Chodziło mi o treść zapytania, zanim pójdzie do bazy, ale już po wstawieniu za zmienne wartości..., czyli echo $query1, echo $result Ci zwróci wskaźnik do resource, czyli nic Ci to nie powie. Za to jawna treść zapytania może powiedzieć, czy zmienne nie są puste, a więc czy aby nie wywalą błedu w bazie. Wtedy mysql_error wskazałby Ci źródło problemu: błędne zapytanie i miejsce jego wystąpienia.
thomson89
Nie wywala nic...
Makciek
Cytat(thomson89 @ 11.11.2009, 21:17:19 ) *
  1. //zdjęcie
  2. print '<a href="wyroby/'.$record['kat_zd'].$record['nazwa_zd'].'" rel="lightbox[wyroby]" title="Symbol: '.$record['symbol'].'">';
  3. print '<img src="wyroby/'.$record['kat_zd_m']."=".$record['nazwa_zd_m'].'" /></a>';// tu czasem nie powinno byc =, tak samo jak wyżej?
  4. print '</td><td valign="top">';
  5. print '<br><b>Symbol: </b>'.$record['symbol'].'<br>';
  6. print '<b>Cena: </b>'.$record['cena'].'<br><b>Opis: </b>'.$record['opis'].'<br>';
  7. print '</td></tr>';
  8. }
  9. print '</table>';


czasem nie brakuje =
thomson89
Nie, a pozatym błąd wywalany jest wyżej...

Pole 'kat_zd' ma sciezke pliku, więc w/img/cos/itd/ (zawsze na końcu jest znak /)
a nazwa_zd to po prostu, np. siema.jpg
piotr94
  1. $query1 = 'SELECT * FROM `wyroby` ORDER BY RAND() LIMIT '.$start.', '.$perPage;
  2. echo($query1);

i napisz co Ci wyświetli haha.gif
thomson89
Kod
SELECT * FROM `wyroby` ORDER BY RAND() LIMIT 0, 10
piotr94
hmm...
mnie to wygląda na błąd w zapytaniu SQL
jeśli masz dostęp do phpmyadmina to wklep w nim to zapytanie które pokazałeś kod wyżej i powinno pokazać co jest w nim nie tak ;-)
thomson89
Cytat(thomson89 @ 11.11.2009, 20:17:19 ) *
Zapytania są poprawne, testowałem w PhpMyAdmin.



Problem jest banalny haha.gif

Było złe kodowanie pliku config.php (z BOM). Dziwię się tylko że żadnych błędów nie było przy połączeniu a zmiana kodowania wszystko zmieniła.
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-2024 Invision Power Services, Inc.