Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z $max=mysql_num_rows($results)/2;
Forum PHP.pl > Forum > PHP
radek_czerwinski
Witam mam następujący problem.
Przeniosłem stronę na inny serwer. Zaimportowałem starą bazę danych. I zmodyfikowałem plik config.php

Przy próbie wywołania strony pojawia się komunikat:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/almag/ftp/testy/projekty_lista.php3 on line 53

skrypt wygląda następująco:
  1. <?php
  2.  
  3. require "config.php";
  4. ####### polaczenie do bazy ##################
  5. mysql_connect($myhostname,$my_mysql_userid,$my_mysql_password);
  6. mysql_select_db($my_mysql_database);
  7.  
  8. $query_1="select * from mytkowskiprojekty where typ=$act and powierzchnia='$pow' order by kolejnosc";
  9.  
  10.  
  11. ######### wczytanie htmli ###################
  12. $fd=fopen("html/projekty_lista.htm", "r");
  13. $pal="";
  14. while (!feof($fd)) {
  15. $buffer = fgets($fd, 4096);
  16. $pal=$pal.$buffer;
  17. }
  18. fclose($fd);
  19.  
  20. $fd=fopen("menu_left_projekty.php3", "r");
  21. $menu="";
  22. while (!feof($fd)) {
  23. $buffer = fgets($fd, 4096);
  24. $menu=$menu.$buffer;
  25. }
  26. fclose($fd);
  27.  
  28. $fd=fopen("menu_down.php3", "r");
  29. $stopka="";
  30. while (!feof($fd)) {
  31. $buffer = fgets($fd, 4096);
  32. $stopka=$stopka.$buffer;
  33. }
  34. fclose($fd);
  35.  
  36.  
  37. $fd=fopen("menu_meta.php3", "r");
  38. $meta="";
  39. while (!feof($fd)) {
  40. $buffer = fgets($fd, 4096);
  41. $meta=$meta.$buffer;
  42. }
  43. fclose($fd);
  44.  
  45.  
  46.  
  47. if (ereg("<!--start_news-->(.*)<!--end_news-->", $pal, $tab_l)) $tab_l=$tab_l[1];
  48.  
  49.  
  50. ########## Linki ##################
  51. $lista="";
  52. $results = mysql_query($query_1);
  53. $max=mysql_num_rows($results)/2;
  54. for ($row=0;$row <$max;$row++) {
  55. $result = mysql_fetch_row($results);
  56. $wst = $tab_l;
  57. $wst = str_replace("-id-",$result[0], $wst);
  58. $wst = str_replace("-projekt-",$result[1], $wst);
  59.  
  60. if ($result[2]!=''){
  61. $nazwa=$result[2];
  62. $wst= ereg_replace("-picture-", "<img src=\"projekty/$nazwa\" border=\"0\">", $wst);
  63. }
  64. else{
  65. $wst= ereg_replace("-picture-", "", $wst);
  66. }
  67.  
  68. $result = mysql_fetch_row($results);
  69. $wst = str_replace("-id1-",$result[0], $wst);
  70. $wst = str_replace("-projekt1-",$result[1], $wst);
  71. if ($result[2]!=''){
  72. $nazwa=$result[2];
  73. $wst= ereg_replace("-picture1-", "<img src=\"projekty/$nazwa\" border=\"0\">", $wst);
  74. }
  75. else{
  76. $wst= ereg_replace("-picture1-", "", $wst);
  77. }
  78. $lista.=$wst;
  79.  
  80.  
  81. }
  82.  
  83.  
  84. $pal = ereg_replace("<!--start_news-->(.*)<!--end_news-->", $lista, $pal);
  85. if ($act==1)
  86. $pal= str_replace("-typ-","parterowe", $pal);
  87. else
  88. $pal= str_replace("-typ-","piętrowe", $pal);
  89.  
  90. if($pow==1) $p="od 100 do 120 m2";
  91. if($pow==2) $p="od 120 do 150 m2";
  92. if($pow==3) $p="od 150 do 200 m2";
  93. if($pow==4) $p="powyżej 200 m2";
  94.  
  95. $pal= str_replace("-pow1-",$p, $pal);
  96. $pal= str_replace("-title-",$p, $pal);
  97. $pal= str_replace("-keywords-",$p, $pal);
  98.  
  99. $pal= str_replace("-pow-",$pow, $pal);
  100. $pal= str_replace("-menu-",$menu, $pal);
  101. $pal= str_replace("-stopka-",$stopka, $pal);
  102. $pal= str_replace("-meta-",$meta, $pal);
  103.  
  104. echo $pal;
  105.  
  106. ?>


Nie ukrywam że nie ja napisałem ten skrypt jest on napisany w php3 a na nowym serwerze nie ma interpretera php3 jest php5 ale wydaje mi się że wpis
$max=mysql_num_rows($results)/2; który znajduje się w wierszu 53 nie powinien się różnić.
Pozdrawiam i liczę na odpowiedź.
Pomocy
nospor
problem zapewne lezy juz tutaj:
$query_1="select * from mytkowskiprojekty where typ=$act and powierzchnia='$pow' order by kolejnosc";
i chodzi o register_globals. Skad biorą sie $act oraz $pow ?

pozatym zmien: $results = mysql_query($query_1);
na: $results = mysql_query($query_1) or die('Zapytanie: '.$query_1.' blad:'.mysql_error());
radek_czerwinski
Po pierwsze dzięki wielkie za pomoc
Po drugie miałeś rację bo zwrócił:

Zapytanie: select * from mytkowskiprojekty where typ= and powierzchnia='' order by kolejnosc blad:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'and powierzchnia='' order by kolejnosc' at line 1

Ale na poprzednim serwerze chodziło. Co mogę zrobić z tym fantem kolejnocs i powierzchnia to pola w tabeli.
Rozumiem że muszę to jakoś inaczej zdefiniować, by użyć istniejących zmiennych i jednocześnie by pobierały odpowiednie wartości.
nospor
wyjscia masz dwa:
1)Mozesz wlączyc register_globals - nie zalecam
2) http://nospor.pl/php-faq-n29.html#faq-3
altruista2
Po prostu zamień to:
  1. $query_1="select * from mytkowskiprojekty where typ=$act and powierzchnia='$pow' order by kolejnosc";

Na to:
  1. $query_1="select * from mytkowskiprojekty where typ='".stripslashes($_REQUEST['act'])."' and powierzchnia='".stripslashes($_REQUEST['pow'])."' order by kolejnosc";
radek_czerwinski
Dobra mam jeszcze jeden problem.
Trochę przerobiłem stary skrypt działający z następną stroną bo nie potrzebuje na razie wczytywania tych wszystkich menu no i próbowałem zmienić te query podobnie jak mi podpowiedzieliście.

Jednak wczytują się jedynie pliki picture2 czyli z tej query_2 natomiast te pierwsze czyli picture i picture1 nie wczytuje czy błąd jest w skrypcie ponownie zaznaczam że oryginalny skrypt na serwerze działa. Proszę o pomoc

Pomocy cały dzień nad tym siedzę i nie mam pojęcia dlaczego działa na starym serwerze a dlaczego nie chodzi na nowym po tych drobnych modyfikacjach sprawdzałem z innymi tablicami co oczywiste zupełnie nic nie zmieniło.
Zastanawiałem się czy nie używam tych samych zmiennych i czy dlatego ich nie kojarzy bo nadpisuje usunąłem więc w pliku po modyfikacjach

wiersze od 87 do 114 nie wczytywało mi wówczas ani zdjęć ani rzutów ale nazwa i opis są nadal poprawnie podawane
czyli nic nie rozumiem
Może błąd jest gdzieś niżej ale tam w zasadzie nic nie zmieniałem próbowałem też na pliku w którym zmodyfikowałem w stosunku do pierwotnego skryptu jedynie linię
$query_1="select id,nazwa,opis,ZDJECIA,zdjecia_m from mytkowskiprojekty where id=
i
$query_2="select rzuty,rzuty_m,nazwa from mytkowskiprojekty where id=
Efekt był ten sam nazwa opis i rzuty wyświetlane poprawnie zdjęcia nie
Powtarzam raz jeszcze Pomocy

Tak się zastanawiam czy błąd nie jest w 20 wierszu tego skryptu ponieważ wcześniej nie została ustalona zmienna tab_l
Od razu powiem że nie pojawia się żaden błąd natomiast w miejscu w którym powinny pojawić się zdjecia_m i odnośnik do zdjęcia wyświetla -picture- i -picture1-
<?php

require "config.php";
####### polaczenie do bazy ##################
mysql_connect($myhostname,$my_mysql_userid,$my_mysql_password);
mysql_select_db($my_mysql_database);

$query_1="select id,nazwa,opis,zdjecia,zdjecia_m from mytkowskiprojekty where id='".stripslashes($_REQUEST['id'])."'";


######### wczytanie htmli ###################
$fd=fopen("html/projektysz.html", "r");
$pal="";
while (!feof($fd)) {
$buffer = fgets($fd, 4096);
$pal=$pal.$buffer;
}
fclose($fd);

if (ereg("<!--start_news-->(.*)<!--end_news-->", $pal, $tab_l)) $tab_l=$tab_l[1];



########## Linki ##################
$lista="";
$results = mysql_query($query_1);
$max=mysql_num_rows($results)/2;


$lista="";
$results = mysql_query($query_1);
$result = mysql_fetch_row($results);
$pal= str_replace("-id-",$result[0], $pal);
$pal= str_replace("-projekt-",$result[1], $pal);
$pal= str_replace("-opis-",$result[2], $pal);

$pal= str_replace("-keywords- ",$result[2], $pal);
$pal= str_replace("-title-",$result[2], $pal);
$pal= str_replace("-desc-",$result[2], $pal);

if ($result[3]==''){
$wst = $tab_l;
$wst= ereg_replace("-picture-", "Aktualnie brak zdjęć.", $wst)or die('Zapytanie: '.$wst.' blad:'.mysql_error());
$wst= ereg_replace("-picture1-", "", $wst);

$lista.=$wst;
}
else{
$pictures= split(" ",$result[4]);
$picturesd= split(" ",$result[3]);
$max=sizeof($pictures);
for ($k=1;$k<$max;$k++){
$wst = $tab_l;

if ($pictures[$k]!=''){

$size = getimagesize("projekty/$picturesd[$k]");
$height = $size[1];
$width = $size[0];
$wst= ereg_replace("-picture-", "<a href=\"projekty/$picturesd[$k]\" border=\"0\" rel=\"lightbox[r1]\"><img src=\"projekty/$pictures[$k]\" border=\"0\"></a>", $wst);
}
else{
$wst= ereg_replace("-picture-", "", $wst);
}
$k++;
if ($pictures[$k]!=''){

$size = getimagesize("projekty/$picturesd[$k]");
$height = $size[1];
$width = $size[0];

$wst= ereg_replace("-picture1-", "<a href=\"projekty/$picturesd[$k]\" border=\"0\" rel=\"lightbox[r1]\"><img src=\"projekty/$pictures[$k]\" border=\"0\">", $wst);
}
else{
$wst= ereg_replace("-picture1-", "", $wst);
}


$lista.=$wst;
}
}

$pal = ereg_replace("<!--start_news-->(.*)<!--end_news-->", $lista, $pal);

$lista="";
if (ereg("<!--start_news1-->(.*)<!--end_news1-->", $pal, $tab_l)) $tab_l=$tab_l[1];

$query_2="select rzuty,rzuty_m,nazwa from mytkowskiprojekty where id='".stripslashes($_REQUEST['id'])."'";
$results = mysql_query($query_2);
$result = mysql_fetch_row($results);

if ($result[1]==''){
$wst = $tab_l;
$wst= ereg_replace("-picture2-", "Aktualnie brak rzutów.", $wst);
$lista.=$wst;
}
else{
$pictures= split(" ",$result[1]);
$picturesd= split(" ",$result[0]);

for ($k=1;$k<sizeof($pictures);$k++)
{
$wst = $tab_l;
$size = getimagesize("projekty/$picturesd[$k]");
$height = $size[1];
$width = $size[0];

$wst= ereg_replace("-picture2-", "<a href=\"projekty/$picturesd[$k]\" border=\"0\" rel=\"lightbox[r1]\"><img src=\"projekty/$pictures[$k]\" border=\"0\"></a>", $wst);
$lista.=$wst;
}
}


$pal = ereg_replace("<!--start_news1-->(.*)<!--end_news1-->", $lista, $pal);

if($pow==1) $p="od 100 do 120 m2";
if($pow==2) $p="od 120 do 150 m2";
if($pow==3) $p="od 150 do 200 m2";
if($pow==4) $p="powyżej 200 m2";

$pal = ereg_replace("-pow-", $p, $pal);
$pal= str_replace("-menu-",$menu, $pal);
$pal= str_replace("-stopka-",$stopka, $pal);
$pal= str_replace("-meta-",$meta, $pal);

echo $pal;

?>

A tak dla wglądu wyglądał oryginalny skrypt

  1. <?php
  2.  
  3. require "config.php";
  4. ####### polaczenie do bazy ##################
  5. mysql_connect($myhostname,$my_mysql_userid,$my_mysql_password);
  6. mysql_select_db($my_mysql_database);
  7.  
  8. $query_1="select id,nazwa,opis,zdjecia,zdjecia_m from projekty where id=$id";
  9.  
  10.  
  11. ######### wczytanie htmli ###################
  12. $fd=fopen("html/projektysz.htm", "r");
  13. $pal="";
  14. while (!feof($fd)) {
  15. $buffer = fgets($fd, 4096);
  16. $pal=$pal.$buffer;
  17. }
  18. fclose($fd);
  19.  
  20. $fd=fopen("menu_left.php3", "r");
  21. $menu="";
  22. while (!feof($fd)) {
  23. $buffer = fgets($fd, 4096);
  24. $menu=$menu.$buffer;
  25. }
  26. fclose($fd);
  27.  
  28. $fd=fopen("menu_down.php3", "r");
  29. $stopka="";
  30. while (!feof($fd)) {
  31. $buffer = fgets($fd, 4096);
  32. $stopka=$stopka.$buffer;
  33. }
  34. fclose($fd);
  35.  
  36.  
  37. $fd=fopen("menu_meta.php3", "r");
  38. $meta="";
  39. while (!feof($fd)) {
  40. $buffer = fgets($fd, 4096);
  41. $meta=$meta.$buffer;
  42. }
  43. fclose($fd);
  44.  
  45.  
  46.  
  47.  
  48. if (ereg("<!--start_news-->(.*)<!--end_news-->", $pal, $tab_l)) $tab_l=$tab_l[1];
  49.  
  50.  
  51. ########## Linki ##################
  52. $lista="";
  53. $results = mysql_query($query_1);
  54. $max=mysql_num_rows($results)/2;
  55.  
  56.  
  57. $lista="";
  58. $results = mysql_query($query_1);
  59. $result = mysql_fetch_row($results);
  60. $pal= str_replace("-id-",$result[0], $pal);
  61. $pal= str_replace("-projekt-",$result[1], $pal);
  62. $pal= str_replace("-opis-",$result[2], $pal);
  63.  
  64. $pal= str_replace("-keywords- ",$result[2], $pal);
  65. $pal= str_replace("-title-",$result[2], $pal);
  66. $pal= str_replace("-desc-",$result[2], $pal);
  67.  
  68. if ($result[3]==''){
  69. $wst = $tab_l;
  70. $wst= ereg_replace("-picture-", "Aktualnie brak zdjęć.", $wst);
  71. $wst= ereg_replace("-picture1-", "", $wst);
  72.  
  73. $lista.=$wst;
  74. }
  75. else{
  76. $pictures= split(" ",$result[4]);
  77. $picturesd= split(" ",$result[3]);
  78. $max=sizeof($pictures);
  79. for ($k=1;$k<$max;$k++){
  80. $wst = $tab_l;
  81.  
  82. if ($pictures[$k]!=''){
  83.  
  84. $size = getimagesize("projekty/$picturesd[$k]");
  85. $height = $size[1];
  86. $width = $size[0];
  87. $wst= ereg_replace("-picture-", "<a href=\"projekty/$picturesd[$k]\" border=\"0\" rel=\"lightbox[r1]\"><img src=\"projekty/$pictures[$k]\" border=\"0\"></a>", $wst);
  88. }
  89. else{
  90. $wst= ereg_replace("-picture-", "", $wst);
  91. }
  92. $k++;
  93. if ($pictures[$k]!=''){
  94.  
  95. $size = getimagesize("projekty/$picturesd[$k]");
  96. $height = $size[1];
  97. $width = $size[0];
  98.  
  99. $wst= ereg_replace("-picture1-", "<a href=\"projekty/$picturesd[$k]\" border=\"0\" rel=\"lightbox[r1]\"><img src=\"projekty/$pictures[$k]\" border=\"0\">", $wst);
  100. }
  101. else{
  102. $wst= ereg_replace("-picture1-", "", $wst);
  103. }
  104.  
  105.  
  106. $lista.=$wst;
  107. }
  108. }
  109.  
  110. $pal = ereg_replace("<!--start_news-->(.*)<!--end_news-->", $lista, $pal);
  111.  
  112. $lista="";
  113. if (ereg("<!--start_news1-->(.*)<!--end_news1-->", $pal, $tab_l)) $tab_l=$tab_l[1];
  114.  
  115. $query_2="select rzuty,rzuty_m,nazwa from projekty where id=$id";
  116. $results = mysql_query($query_2);
  117. $result = mysql_fetch_row($results);
  118.  
  119. if ($result[1]==''){
  120. $wst = $tab_l;
  121. $wst= ereg_replace("-picture2-", "Aktualnie brak rzutów.", $wst);
  122. $lista.=$wst;
  123. }
  124. else{
  125. $pictures= split(" ",$result[1]);
  126. $picturesd= split(" ",$result[0]);
  127.  
  128. for ($k=1;$k<sizeof($pictures);$k++)
  129. {
  130. $wst = $tab_l;
  131. $size = getimagesize("projekty/$picturesd[$k]");
  132. $height = $size[1];
  133. $width = $size[0];
  134.  
  135. $wst= ereg_replace("-picture2-", "<a href=\"projekty/$picturesd[$k]\" border=\"0\" rel=\"lightbox[r1]\"><img src=\"projekty/$pictures[$k]\" border=\"0\"></a>", $wst);
  136. $lista.=$wst;
  137. }
  138. }
  139.  
  140.  
  141. $pal = ereg_replace("<!--start_news1-->(.*)<!--end_news1-->", $lista, $pal);
  142.  
  143. if($pow==1) $p="od 100 do 120 m2";
  144. if($pow==2) $p="od 120 do 150 m2";
  145. if($pow==3) $p="od 150 do 200 m2";
  146. if($pow==4) $p="powyżej 200 m2";
  147.  
  148. $pal = ereg_replace("-pow-", $p, $pal);
  149. $pal= str_replace("-menu-",$menu, $pal);
  150. $pal= str_replace("-stopka-",$stopka, $pal);
  151. $pal= str_replace("-meta-",$meta, $pal);
  152.  
  153. echo $pal;
  154.  
  155. ?>



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.