Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL][Coś dziwnego] Problem z wyświetlaniem rekordów
Forum PHP.pl > Forum > PHP
deha21
Witam,
Robię pewną poprawkę dla klienta. Parę lat temu ktoś robił mu małego CMSa. Moja rola ogranicza się do tego, że mam dodać nową opcję. Czyli wszystko czego mi potrzeba to dane do bazy. Mam je oczywiście.

Mój kod jest taki:
  1. require("log.inc");
  2. $wynik2=mysql_query("SELECT * FROM marka ORDER BY marka ASC");
  3. while ($row2=mysql_fetch_array($wynik2)) {
  4. echo '<option value='.$row2['ID_marka'].'> '.$row2['marka'].'</option>';
  5. }
  6. echo "</select>
  7. <input type='text' name='model' value='nazwa modelu'>
  8. <input type='submit' value='Zapisz'>
  9. </form>";
  10.  
  11. $wynik=mysql_query("SELECT * FROM marka ORDER BY ID_marka ASC");
  12. while ($row=mysql_fetch_array($wynik)) { // tu zwraca błąd
  13. echo "<a href='lista2.php?marka=".$row['ID_marka']."'>".$row['marka']."</a> | ";
  14. }
  15.  

Zwraca mi taki błąd:
  1. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /xxx/xxx/lista.php on line 32

Ciekawi mnie to, że w kodzie wyżej (tam gdzie jest $wynik2) nie zwraca błędu a mimo to go nie wyświetla. Podejrzałem stare strony i oprócz totalnego bałaganu nie znalazłem nic co mogłoby wpłynąć na ten błąd.
Jedyna rzecz mnie zaciekawiła - mysql_pconnect . Ale jeżeli to by nie działało to wyskoczyłby błąd, że nie może się połączyć z bazą. Poza tym wszystkie stare strony działają.

Ciekawi może być źle? Wszystkie dane, tabele, bazy itp. są okej.
thek
Na początek to weź nam pokaż jaki komunikat sypie baza po mysql_query -> mysql_error(). Możliwe, ze masz coś nie tak z nazewnictwem albo jakaś pierdółka wyskoczyła. Komunikat z bazy może wiele wyjaśnić smile.gif Walnij funkcję zaraz po mysql_query i powiedz co zwraca.
deha21
Totalnie nic nie wyświetla :/ Error_reporting(ALL) też nic.
thek
W takim wypadku może to oznaczać tylko jedno... $wynik nie zawiera żadnych danym, a więc zapytanie do bazy danych się wykonało prawidłowo, ale nie zwróciło żadnych wyników. Totalo nullo. Więc coś jest rąbnięte w zapytaniu i zwraca brak rekordów, choć się wykonuje prawidłowo i nie zwraca błędu. Może ta tabela jest pusta? smile.gif Jeśli tak to może to dawać ten nieoczekiwany efekt.
Meares
  1. SELECT * FROM `marka` ORDER BY `marka`.`marka` ASC


W twoim zapytaniu sortujesz po nazwie tabeli. Tzn. parser to tak rozumie. Dlatego wywala błąd.
deha21
Tabela nie jest pusta.

Co do przykładu Mearesa, to też nic nie daje. Zmieniłem sortowanie na drugą komórkę i dalej nic. Poza tym błąd zwraca przy tym drugim zapytaniu, a to które podałeś to jest pierwsze (fakt, że też go nie wykonuje).

Wydaje mi się, że może to być przez jakieś zabezpieczenia ze strony serwera. Koleś ma jakiś dziwny serwer, niektórych plików nie da się usunąć/zmień mimo że chmody są ok, wykorzystuje logowanie systemowe poprzez htaccess a nie widzę tego pliku, ani drugiego z hasłem. Czasem nie można wbić do phpmyadmin, pisze że nie ma takiej strony a mimo to wszystko działa mu na stronce. I cholernie wolno mu to chodzi winksmiley.jpg Ehh...

EDIT: Rozwiązane! Nazwę tabeli napisałem z małej litery winksmiley.jpg Tak mi phpmyadmin wyeksportował tabelę. To wszystko przez niego! winksmiley.jpg Sorry za kłopot winksmiley.jpg
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.