ďťż

[php/mysql] zapytania nie wykonuja sie ...

       

Podstrony


telcocafe

Mam napisany w php system prywatnych wiadomosci, wszystko by bylo ok, gdyby nie :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\usr\apache\httpd\html\wiadomosci\moduly\wiadomosci.php on line 44 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\usr\apache\httpd\html\wiadomosci\moduly\wiadomosci.php on line 50

Opisze problem.
Wywoluje link : 127.0.0.1/costam/costam.php?m=skrzynka&akcja=odbierz

includuje on plik wiadomosci.php z katalogu moduly w pliku index.php w odpowiednim miejscu. w pliku wiadomosci.php zawiera sie konstrukcja case. Linijki 39 -54:
case 'odbierz': require_once('./mysql_connect.php'); $query = "SELECT * FROM maile WHERE odbiorca='$_SESSION[user]' AND stan='nadana' ORDER BY data_nadania "; $result = mysql_query($query); while($row = mysql_fetch_array($result) ) { $row['tytul']=stripslashes($row['tytul']); echo "<a href=\"wiadomosci.php?akcja=czytaj&amp;id={$row['mail_id']}\" >{$row['tytul']}</a>(nowa) {$row['data_nadania']}<br />"; } $query = "SELECT * FROM maile WHERE odbiorca='$_SESSION[user]' ORDER BY data_nadania "; $result = mysql_query($query); while($row = mysql_fetch_array($result) ) { $row['tytul']=stripslashes($row['tytul']); echo "<a href=\"wiadomosci.php?akcja=czytaj&amp;id={$row['mail_id']}\" >{$row['tytul']}</a> {$row['data_nadania']}<br />"; } mysql_close(); break;

W tym pliku jest jeszcze kilka opcji do wyboru przez case, w kazdej jest jakies zapytanie mysql i zadne sie nie wykonuje... Sprawdzilem to przez dodanie odpowiedniej konstrukcji if sprawdzajacej czy zapytanie zostalo wykonane, za kazdym razem zwracala 0 ... Co jest tutaj zle?



taki blad wystepuje jak nie ma nic do wyswietlenia :>
daj mysql_num_rows i mysql_error i powiedz co wyswietla

baza nie jest pusta, specjalnie ja zapelnilem jakimis glupotami ...
dopisalem
$ile=mysql_num_rows($result); echo "$ile"; i nic sie nie wyswietlilo, tzn bledy sa te same nadal ale nie wydrukowala sie zmienna $ile

$_SESSION['user'] a nie $_SESSION[user]



wlasnie nie wiem czemu, ale tak jak napisalem to dzialalo, dopoki nie przenioslem tego tak, ze czesc pliku sie includuje, wtedy mi zapytania sie nie chca wykonywac z includowanego pliku, a jak do jednego wsio wrzuce to dziala

Dodaj do kodu coś takiego:
echo "SELECT * FROM maile WHERE odbiorca='$_SESSION[user]' AND stan='nadana' ORDER BY data_nadania ";
Zobaczsz w ten sposób całe zapytanie i zobaczysz czy jest dobre.

i używaj ' zamiast "

nadal niedziala... do tej pory mialem tak, ze to bylo w jednym pliku jako sam skrypt, bez wygladu. Jednak zrezygnowalem z tego i wyrzucilem skrypt do osobnego pliku i nadal wsio dzialalo. pozniej dalem zeby index.php?costam=skrzynka inludowal ten plik a po wejsciu w index.php?costam=skzynka?akcja=nowe powinny sie pobrac z bazy nowe wiadomosci, jednak od tego momentu nie wykonuja mi sie zapytania :(

aha i czy polaczyles sie z bazą ? :D

spojrz na moj kod :)

require_once('./mysql_connect.php');
w tym pliku jest laczenie z baza ...

ps. jaka jest roznica miedzy include a require_once?

taka:
gdy pojawi się błąd,
-> include wyświetli ostrzeżenie i reszta skryptu wykona się normlanie.
-> require wyświetli bład i zablokuje wykonywanie skryptu.

dodatkowo cząstka _once "pilnuje" aby plik był dołączony TYLKO RAZ.



aha i czy polaczyles sie z bazą ?
spojrz na moj kod :)
(...)


Chyba chodziło o to czy połączyłeś sie poprawnie...
Użytkownik fenekpl edytował ten post 08 styczeń 2007, 18:33
OMG! xD
wystarczylo zamiast require_once dac include wszedzie. juz działa, dzieki :)
Użytkownik kowalski.jasio edytował ten post 08 styczeń 2007, 19:07
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.