mysql_fetch_array

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
Nowy
Posty: 100
Rejestracja: sob wrz 25, 2004 2:03 pm
Lokalizacja: Wrocław

mysql_fetch_array

Post autor: riker »

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
Nowy
Posty: 113
Rejestracja: pn lut 28, 2005 1:33 am
Lokalizacja: Kraków / Katowice / Bydgoszcz
Kontakt:

Re: mysql_fetch_array

Post autor: FanFataL »

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 :wink:
...
riker
Nowy
Nowy
Posty: 100
Rejestracja: sob wrz 25, 2004 2:03 pm
Lokalizacja: Wrocław

Re: mysql_fetch_array

Post autor: riker »

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 :wink:
...
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
Przelotem
Posty: 224
Rejestracja: wt cze 07, 2005 1:50 pm

Re: mysql_fetch_array

Post autor: bwo »

A która to jest ta 10 linia?
riker
Nowy
Nowy
Posty: 100
Rejestracja: sob wrz 25, 2004 2:03 pm
Lokalizacja: Wrocław

Re: mysql_fetch_array

Post autor: riker »

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
Przelotem
Posty: 224
Rejestracja: wt cze 07, 2005 1:50 pm

Re: mysql_fetch_array

Post autor: bwo »

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

Re: mysql_fetch_array

Post autor: iro »

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
Nowy
Posty: 100
Rejestracja: sob wrz 25, 2004 2:03 pm
Lokalizacja: Wrocław

Re: mysql_fetch_array

Post autor: riker »

Teraz gra. Chyba nie chce pobierac pustych wartosci ;)
bwo
Przelotem
Przelotem
Posty: 224
Rejestracja: wt cze 07, 2005 1:50 pm

Re: mysql_fetch_array

Post autor: bwo »

Musisz się ubezpieczyć od pobierania pustych wartości. Daj warunek if, ze jeżli pusta to wstawiasz do indexów np. BRAK DANYCH
ODPOWIEDZ