Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: argument is not a valid MySQL result resource
Forum PHP.pl > Forum > Przedszkole
dargoth
witam...

mam taki problem.. szukalem w necie itd ale nie udalo mi sie znalezc strony z odpowiedzia (znalazlem tylko strony z takimi bledami...:/)

w kazdym razie moj kod wyglada tak:

  1. <?php
  2. $query = "SELECT * FROM comment WHERE comment.newsid=" . $_REQUEST['id'];
  3.  
  4. while($row = mysql_fetch_array($query)){
  5.  
  6. }
  7. ?>


poprawiam
---
nospor



linijka ktora podkreslilem to ta do ktorej odnosi sie blad..:
Cytat
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in...


nie wiem jak to poprawic... wczesniej robilem podobni ei dzialalo ok... czy to moze byc spowodowane tym ze wynik w query=null? chcialem policzyc rows i w zaleznosci czy jest 0 czy wiecej wrzucic tego whilea.. ale na zliczaniu rows tez dostalem taki error... mam nadzieje ze wy mi pomozecie...smile.gif
nospor
trzeba wykonac najpierw zapytanie a potem pobierac wyniki
  1. <?php
  2.  
  3. $query = "SELECT * FROM comment WHERE comment.newsid=" . $_REQUEST['id'];
  4. $result = mysql_query($query);
  5. while($row = mysql_fetch_array($result)){
  6.  
  7. }
  8.  
  9. ?>


i uzywaj odpowiedniego bbcode
ens0re
  1. <?php
  2.  
  3. ...
  4. $zapytanie = "insert into cos values ('".$nick."', '".$kom."')";
  5. $wynik=mysql_query($zapytanie);
  6.  
  7. while ($wiersz=mysql_affected_rows($wynik)) {
  8. ...
  9.  
  10. ?>


A co tutaj jest złego? Taki sam błąd mam..
nospor
masz blad zapytania. daj tak i powiedz co ci pokaze:
  1. <?php
  2.  
  3. ...
  4. $zapytanie = "insert into cos values ('".$nick."', '".$kom."')";
  5. $wynik=mysql_query($zapytanie) or die ('zapytanie: '.$zapytanie.'<br />blad:'.mysql_error());
  6.  
  7. while ($wiersz=mysql_fetch_array($wynik)) {
  8. ...
  9. }
  10.  
  11. ?>

i chyba pomylily ci sie funkcje w while, wiec poprawilem
ens0re
Ten sam problem tyle że z
  1. <?php
  2. ?>
...
nospor
czytaj ze zrozumieniem:
Cytat
daj tak i powiedz co ci pokaze:
ens0re
  1. <?php
  2. @$db = mysql_connect('localhost', 'root', '')
  3.  or die('Nie można się połączyć: ' . mysql_error());
  4. mysql_select_db('cos', $db);
  5.  
  6. $zapytanie = "insert into cos values ('".$nick."', '".$kom."')";
  7. $wynik=mysql_query($zapytanie) or die ('zapytanie: '.$zapytanie.'<br />blad:'.mysql_error());
  8.  
  9. while ($wiersz=mysql_fetch_array($wynik)) {
  10.  
  11. echo "stripslashes($wiersz[0])";
  12. echo "stripslashes($wiersz[1])";
  13. ?>

Cały kod z baza...

Cytat
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\WebServ\httpd-users\ens0re\kom.php on line 31
nospor
aaa, sorki, moj blad. nie przylukalem na zapytanie laugh.gif
jak robisz insert to nie lecisz po zadnej petli tylko sprawdzasz czy jest ok, anie pobierasz dane smile.gif

  1. <?php
  2.  
  3. $zapytanie = "insert into cos values ('".$nick."', '".$kom."')";
  4. $wynik=mysql_query($zapytanie) or die ('zapytanie: '.$zapytanie.'<br />blad:'.mysql_error());
  5.  
  6. if ($wynik)
  7. echo 'ok';
  8. else echo 'nieok';
  9.  
  10. ?>
ens0re
No działa smile.gif Dzieki..Własnie tak myslalem nad tym..
dargoth
zeby nie zasmiecac forum dodam tutaj kolejna rzecz... wydaje mi sie ze zapytanie jest dobre ale mimo sie go czepia... jesli mozecie to pomozcie... i dzieki za poprzednia odpowiedz... po prostu skopiowalem o jedna linijke za malo z innego pliku i wyszlytakie kwiatki:P

  1. <?php
  2. $query = "SELECT * FROM xuser WHERE login=" . $_POST['login'] . 
  3. " AND password=" . md5($_POST['pass']);
  4.  
  5. $p = mysql_query($query) or die (mysql_error(error));
  6. ?>


pisalem to na podstawie innego posta tutaj... bo chce sprawdzac to oco wpisal uzytkownik.. wiec chce pobrac ludzi i jak bedzie 1 to wtedy wrzucic go do sesji...

niestety jak juz mowilem to pada.. mimo ze dane (login i pass) istnieja tak samo dobrze hashuje haslo... jezeli przejdzie przez to zapytanie to powinno byc ok...


i jeszcze drugie pytanko...
mam przykladowo pokazywanie newsow... do kazdego newsa mozna napisac komentarz... (czyli link ma atrybut ?id=x) jak klikam na linka to przenosi mnie do odpowiednich komentarzy.. mam tam tez forme gdzie moge dodac wlasny koment... no ale jak wezme submit to mi zniknie teoretycznie to id.. bo request jest chyba tylko ze strony na strone... w kazdym razie ja to zrobilem tak ze wrzucam id do sesji a reszte rzeczy mam w metodzie post... i moje pytanie brzmi czy to sie tak powinno robic? to jest dobry sposob? jak inaczej (latwiej) mozna to zrobic?

z gory dzieki za odpowiedzi...
nospor
zmienne tekstowe trzeba brac w ciapki '' exclamation.gif!
  1. <?php
  2.  
  3. $query = "SELECT * FROM xuser WHERE login='" . $_POST['login'] . 
  4. "' AND password='" . md5($_POST['pass'])."'";
  5.  
  6. $p = mysql_query($query) or die (mysql_error(error));
  7.  if (mysql_num_rows($p) == 1)
  8. echo 'ok';
  9.  else
  10. echo 'spadaj';
  11.  
  12. ?>


co do drugiego:
mozna tak jak ty to robisz, mozna tez zaladowac wczytane id do formualrza jako pole ukryte i wowczas przeniesione zostanie ze wszystkimi polami na kolejna strone
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.