Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mysql_num_rows(): supplied argument ...
Forum PHP.pl > Forum > Bazy danych > MySQL
ukaszs
Dzień dobry jako nowy użytkownik witam wszystkich forumowiczów smile.gif

Mam taki problem że podczas uruchamiania bazy pojawia mi się komunikat [
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/zamowienia/inc/lista_zamowien.inc.php on line 82]


  1. [/php]<?
  2. if (isset($_GET['od_nr']) && ($_GET['od_nr']!=1)) $od_nr=$_GET['od_nr']; else $od_nr=0;
  3. if (isset($_GET['sort'])) $sort=$_GET['sort'];
  4. $adres="index.php?";
  5.  
  6. $filtr=$_POST['filtr'];
  7. $kolumna=$_POST['kolumna'];
  8. $filter="%".$filtr."%";
  9. if (isset($_GET['filtr'])) {$filtr=$_GET['filtr']; $filter="%".$filtr."%";}
  10. if (isset($_POST['filtr'])){$filtr= $_POST['filtr']; $filter="%".$filtr."%"; $od_nr=0;}
  11.  
  12. switch($sort)
  13. {
  14. case 'data12':
  15. $sortowanie='order by data asc, numer asc';
  16. $adres="index.php?sort=data12";
  17. break;
  18. case 'data21':
  19. $sortowanie='order by data desc, numer desc';
  20. $adres="index.php?sort=data21";
  21. break;
  22. case 'numer12':
  23. $sortowanie='order by numer asc';
  24. $adres="index.php?sort=numer12";
  25. break;
  26. case 'numer21':
  27. $sortowanie='order by numer desc';
  28. $adres="index.php?sort=numer21";
  29. break;
  30. case 'wartosc12':
  31. $sortowanie='order by wartosc_zamowienia asc';
  32. $adres="index.php?sort=wartosc12";
  33. break;
  34. case 'wartosc21':
  35. $sortowanie='order by wartosc_zamowienia desc';
  36. $adres="index.php?sort=wartosc21";
  37. break;
  38. case 'termin12':
  39. $sortowanie='order by przeznaczenie asc';
  40. $adres="index.php?sort=termin12";
  41. break;
  42. case 'termin21':
  43. $sortowanie='order by przeznaczenie desc';
  44. $adres="index.php?sort=termin21";
  45. break;
  46. case 'przeznaczenie12':
  47. $sortowanie='order by przeznaczenie asc';
  48. $adres="index.php?sort=przeznaczenie12";
  49. break;
  50. case 'przeznaczenie21':
  51. $sortowanie='order by przeznaczenie desc';
  52. $adres="index.php?sort=przeznaczenie21";
  53. break;
  54. case 'dostawca12':
  55. $sortowanie='order by dostawca asc';
  56. $adres="index.php?sort=dostawca12";
  57. break;
  58. case 'dostawca21':
  59. $sortowanie='order by dostawca desc';
  60. $adres="index.php?sort=dostawca21";
  61. break;
  62. default:
  63. case 'uwagi_n12':
  64. $sortowanie='order by uwagi_n asc';
  65. $adres="index.php?sort=uwagi_n12";
  66. break;
  67. case 'uwagi_n21':
  68. $sortowanie='order by uwagi_n desc';
  69. $adres="index.php?sort=uwagi_n21";
  70. break;
  71. default:
  72.  
  73. $sortowanie='order by data desc, numer desc';
  74. }
  75. $ile_wyswietlac=50;
  76. if (!isset($kolumna)) $kolumna=$_GET['kol'];
  77. if (!isset($kolumna)) $kolumna='dostawca';
  78.  
  79. $zapytanie="select * from zamowienia WHERE $kolumna like '$filter' $sortowanie";
  80. if ($kolumna=='towar') $zapytanie="select * from zamowienie where nazwa_towaru like '$filter' $sortowanie";
  81. $wynik=@mysql_query($zapytanie);
  82. $ile_zamowien=mysql_num_rows($wynik);
  83.  
  84. if ($od_nr+$ile_wyswietlac > $ile_zamowien) {$ile_wysw=($ile_zamowien-$od_nr);}
  85. else {$ile_wysw=$ile_wyswietlac;}
  86.  
  87.  
  88. for ($i=0; $i<$od_nr; $i++)
  89. {
  90. $wiersz=mysql_fetch_array($wynik);
  91. }
  92. if($od_nr==0) $poz=1; else $poz=$od_nr;
  93. for ($i=0; $i<$ile_wysw; $i++)
  94. {
  95. $wiersz=mysql_fetch_array($wynik);
  96. $pozycja[$i]=$poz;
  97. $poz++;
  98. $zamowienia[$i]=$wiersz;
  99. }
  100.  
  101. $smarty -> assign('zamowienia',$zamowienia);
  102. $smarty -> assign('pozycja',$pozycja);
  103. $smarty -> assign('adres',$adres);
  104. $smarty -> assign('filtr',$filtr);
  105. $smarty -> assign('kolumna',$kolumna);
  106. $smarty -> assign('ile_zamowien',$ile_zamowien);
  107. ?>
  108. [php]


Ma może ktoś z was jakiś pomysł o co chodzi albo spojrzy na świeżo?

Dodam że wcześniej połączenie działało poprawnie "posypało" się w momencie kiedy zostało zmienione hasło do użytkownika bazy i po przywróceniu mam informację jak wyżej.

Z góry dziękuję za pomoc.
gino
A gdzie w tym pliku jest połączenie z bazą danych?.
Jak już pisać to od początku albo dobre nawyki albo nie pisać w ogóle.
Użyj przynajmniej mysqli z dobrą obsługą błędów.
dublinka
  1. $zapytanie="select * from zamowienia WHERE $kolumna like '$filter' $sortowanie";
  2. if ($kolumna=='towar') $zapytanie="select * from zamowienie where nazwa_towaru like '$filter' $sortowanie";


To wreszcie "zamowienia" czy "zamowienie"
ukaszs
dobra nie ma tematu błąd połączenia z bazą. Dzięki za pomoc.
gino
Tak spytam na jakiej wersji php piszesz? Funkcje mysql zostały zdeprecjonowane w wersji 5.5, usunięte w wersji 7, użyj mysqli albo klasy PDO
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-2024 Invision Power Services, Inc.