Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php&sql] Mysql_fetch_array, valid MySQL result
DannyM
post
Post #1





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
DannyM
post
Post #3





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
DannyM
post
Post #5





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
DannyM
post
Post #7





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


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

Ten post edytował DannyM 22.09.2006, 16:53:09
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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())


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
DannyM
post
Post #9





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


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

Ten post edytował DannyM 22.09.2006, 17:17:37
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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

zapamietaj ten kod do konca zycia


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
gszesiek
post
Post #11





Grupa: Zarejestrowani
Postów: 152
Pomógł: 1
Dołączył: 17.09.2006

Ostrzeżenie: (0%)
-----


1. nospor
2. pokaż te tabele


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 03:47