Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
riker
Nowy
Posty: 100 Rejestracja: sob wrz 25, 2004 2:03 pm
Lokalizacja: Wrocław
Post
autor: riker » pn lip 25, 2005 4:41 pm
Witam, wyskakuje mi nastepujacy blad, ktorego za bardzo nie rozumiem i nie wiem co z tym zrobic:
Kod: Zaznacz cały
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/web142/html/felu/id/lista.php on line 10
A tak wyglada ta funkcja w moim programie:
Kod: Zaznacz cały
$rez = mysql_query ("SELECT * FROM user");
while ($tablica = mysql_fetch_array($rez, MYSQL_ASSOC))
{
echo "<tr><td>" . $tablica["data"] . "</td>" . "<td>" . $tablica["tytul"] . "</td>" . "<td>" . $tablica["user"] . "</td>";
echo mysql_error();}
Prosze o pomoc
FanFataL
Nowy
Posty: 113 Rejestracja: pn lut 28, 2005 1:33 am
Lokalizacja: Kraków / Katowice / Bydgoszcz
Kontakt:
Post
autor: FanFataL » pn lip 25, 2005 8:37 pm
Ja stanawiam na brak połączenia z bazą danych ;]
Daj tak: [php]<?php
// ...
$rez = mysql_query ("SELECT * FROM user") or die(mysql_error());
// ...
?>[/php]
Pozdrawiam
...
riker
Nowy
Posty: 100 Rejestracja: sob wrz 25, 2004 2:03 pm
Lokalizacja: Wrocław
Post
autor: riker » pn lip 25, 2005 11:21 pm
FanFataL pisze: Ja stanawiam na brak połączenia z bazą danych ;]
Daj tak: [php]<?php
// ...
$rez = mysql_query ("SELECT * FROM user") or die(mysql_error());
// ...
?>[/php]
Pozdrawiam
...
Z bazą danych łączy się na pewno, problem polega na czym innym. Pomyslalem wlasnie, ze moze wina jest to ze niektore pola w tabeli sa puste, dlatego jak bierze pusta wartosc to cos mu nie pasuje, no ale dziwne by to bylo troche...
bwo
Przelotem
Posty: 224 Rejestracja: wt cze 07, 2005 1:50 pm
Post
autor: bwo » wt lip 26, 2005 10:09 am
A która to jest ta 10 linia?
riker
Nowy
Posty: 100 Rejestracja: sob wrz 25, 2004 2:03 pm
Lokalizacja: Wrocław
Post
autor: riker » wt lip 26, 2005 1:38 pm
Całość wygląda tak:
Kod: Zaznacz cały
<?php
$nazwabazy = "usr_web142_1";
$id_polaczenia= mysql_connect("localhost", "******", "*****");
mysql_select_db ($nazwabazy);
$rez = mysql_query("SELECT * FROM user");
while ($tablica = mysql_fetch_array($rez, MYSQL_ASSOC))
{
echo "<tr><td>" . $tablica["data"] . "</td>" . "<td>" . $tablica["tytul"] . "</td>" . "<td>" . $tablica["user"] . "</td>";
}
?>
A 10 linia to
Kod: Zaznacz cały
while ($tablica = mysql_fetch_array($rez, MYSQL_ASSOC))
bwo
Przelotem
Posty: 224 Rejestracja: wt cze 07, 2005 1:50 pm
Post
autor: bwo » wt lip 26, 2005 1:56 pm
A spróbuj sprawdzić to na tablicy bez pustych rekordów i będziemy wiedzieć, czy to ejst tego wina...
iro
Moderator
Posty: 402 Rejestracja: pt gru 19, 2003 8:20 pm
Lokalizacja: Szczecin
Post
autor: iro » wt lip 26, 2005 6:04 pm
Podobnie jak Fan Fatal stawiałbym na jakiś błąd w połączeniu z bazą, ewentualnie z wyborem bazy. Kod wygląda na poprawny.
riker
Nowy
Posty: 100 Rejestracja: sob wrz 25, 2004 2:03 pm
Lokalizacja: Wrocław
Post
autor: riker » wt lip 26, 2005 8:29 pm
Teraz gra. Chyba nie chce pobierac pustych wartosci
bwo
Przelotem
Posty: 224 Rejestracja: wt cze 07, 2005 1:50 pm
Post
autor: bwo » wt lip 26, 2005 9:34 pm
Musisz się ubezpieczyć od pobierania pustych wartości. Daj warunek if, ze jeżli pusta to wstawiasz do indexów np. BRAK DANYCH