Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL][Coś dziwnego] Problem z wyświetlaniem rekordów
deha21
post
Post #1





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

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


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.


--------------------
Go to the top of the page
+Quote Post
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
deha21
post
Post #3





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

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


Totalnie nic nie wyświetla :/ Error_reporting(ALL) też nic.


--------------------
Go to the top of the page
+Quote Post
thek
post
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
Meares
post
Post #5





Grupa: Zarejestrowani
Postów: 102
Pomógł: 13
Dołączył: 16.10.2009
Skąd: Łódź

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


  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.


--------------------
manual mmocenter
Nie pomagam na PW!
Go to the top of the page
+Quote Post
deha21
post
Post #6





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

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


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

Ten post edytował deha21 30.10.2009, 08:52:46


--------------------
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 Aktualny czas: 21.08.2025 - 13:58