Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php&sql] Mysql_fetch_array
Forum PHP.pl > Forum > Przedszkole
DannyM
Podczas uzycia funkcji

  1. <?php
  2. $mainframe->_db->setQuery($sql);
  3. $rs = mysql_query($mainframe->_db->_sql);
  4. $totalnmb = 0;
  5. // linia 48
  6.  while ($row = mysql_fetch_array($rs))
  7. ?>


wystepuje

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in 48
Wystepuje to tylko na jednym serwerze. Czy trzeba ustawic cos w php.ini?
nospor
  1. <?php
  2. $rs = mysql_query($mainframe->_db->_sql) or die('zapytanie: '.$mainframe->_db->_sql.';;;error:'.mysql_error());
  3. ?>

Znajac zycie to masz register_globals wylaczone i ci sie zmienne do zapytania nie wysylaja. Ale tylko zgaduje smile.gif
DannyM
register_globals On On
To nie to sad.gif

Podobna sytuacja wystepuje przy
  1. $res = mysql_query("SELECT product_id, product_name, product_price, product_s_desc FROM shop_product, shop_product_price");
  2. while(list($product_id, $product_name, $product_price, $product_s_desc) = mysql_fetch_row($res)){


Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in
nospor
wkleiles kod co ci podalem do siebie? Jesli wkleiles wywalil ci blad? Jesli wywalil to go pokaz, jesli nie wywalil, to pokaz co masz w petli, bo pewnie w petli nadpisujesz zmienna
DannyM
Sorrki za tak dlugi okres odpowiedzi ale musialem wyjechac.
Wracajac do tematu.
Efektem Twojego kodu jest:


Notice: Undefined variable: mainframe in sklep.php on line 2

Notice: Undefined variable: mainframe in sklep.php on line 2
zapytanie: ;;;error:Zapytanie było puste
nospor
No to juz sam powinienes wiedziec co masz nie tak, po tych komunikatach.

Zmienna $mainframe nie jest zdefiniowana, a przynajmniej w tym kawalku co pokazales. A co za tym idzie zmienna ta ci nie generuje zapytania, wiec zapytanie "puste" sie nie wykona
DannyM
No tak tylko jak to sie dzieje, ze na jednym serwerze dziala a na innym nie ?
Moze jeszcze raz.
Mam:

  1. <?php
  2. //Przykładowe polecenie SQL
  3. $res = mysql_query("SELECT product_id, product_name, product_price, product_s_desc FROM shop_pr
    oduct, shop_product_price"
    );
  4. while(list($product_id, $product_name, $product_price, $product_s_desc) = mysql_fetch_row($res)){
  5. ?>

i ewidentnie wyskakuje, ze
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in i tu linia z WHILE
nospor
Nie wiem. Po tym strzępku kodu co tu pokazales to trudno wyczaic.

POkaz kod, gdzie tworzysz tę zmienną $mainframe. Troche linii przed i troche linii po.

edit: do tego kawalka co pokazales dorob to debugowanie co ci wczesniej pokazywalem (z die())
DannyM
Troszke sie rozeszlismy bo wykonujemy omawiamy dwa rozne kody:

Oto problem 1:

  1. <?php
  2. //Połączenie z bazą
  3. $db_host = 'xxxx';
  4. $db_user = 'xxx';
  5. $db_password = 'xxx';
  6. $db_name = 'xxx';
  7.  
  8. //Łączymy się z serwerem mySQL
  9. mysql_connect($db_host, $db_user, $db_password);
  10. //Otwieramy połączenie z bazą danych
  11. mysql_select_db($db_name);
  12.  
  13. //Przykładowe polecenie SQL
  14. $res = mysql_query("SELECT product_id, product_name, product_price, product_s_desc FROM shop_pr
    oduct, shop_product_price"
    );
  15. while(list($product_id, $product_name, $product_price, $product_s_desc) = mysql_fetch_row($res)){
  16.  
  17. //Cena w groszach
  18. $product_price = (INTEGER)($price*100);
  19. //Opis w jednej linijce
  20. $product_s_desc = preg_replace("/[r|n|t]/"," ",$product_s_desc);
  21. //Kasujemy html z opisu
  22. $product_s_desc = preg_replace("/<.*?>/","",$product_s_desc);
  23. //Kasujemy podwójne spacje
  24. $product_s_desc = preg_replace("/s+/"," ",$product_s_desc);
  25. //
  26.  echo $product_id."t".$product_name."t".$product_price."t".$product_s_desc."n";
  27.  
  28. }

Problem wystepuje w lini 15
nospor
no to ci napisalem bys dorobil debugowanie:
  1. <?php
  2. $res = mysql_query("....") or die(mysql_error());
  3. ?>

zapamietaj ten kod do konca zycia
gszesiek
1. nospor
2. pokaż te tabele
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.