Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem ze skryptem po przeniesieniu na PHP5
Forum PHP.pl > Forum > Przedszkole
Woytass
Witam,

Do tej pory skrypt zasuwa sobie na serwerze z PHP4 (bez żadnych błędów). Niestety będę musiał przenieść go na serwerek obsługujący już tylko PHP5.
PHP5 przyczepia się do linii 179 i 180 oraz 209 i 210. (nie jest to cały skrypt, więc tutaj odpowiednio są to linie 13 i 14 oraz 43 i 44)
Komunikat jest następujący:

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /application.php on line 179
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /application.php on line 180
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /application.php on line 209
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /application.php on line 210

Strona się wyświetla, ale nie ma tego co powinno zostać pobrane z bazy.
Nie znam się niestety na PHP na tyle aby samemu sobie z tym poradzić w związku z tym zwracam się
do fachowców o pomoc. Co jest nie tak?

  1. <?php
  2. // ----- category function -----
  3.  
  4. function ShowCategoryPath($cat) { 
  5.  
  6. global $category_separator;
  7.  
  8. $parent_id = 1000;
  9. while($parent_id) {
  10. // read name and parent_id
  11. $query = "select * from category where category_id=$cat";
  12. $result = mysql_query($query);
  13. $parent_id = mysql_result($result,0,'parent_id');
  14. $name = mysql_result($result,0,'name');
  15.  
  16. // write path
  17. if(empty($path)) {
  18. $path = $name;
  19. }
  20. else {
  21. $path = $name . $category_separator . $path;
  22. }
  23.  
  24. // next looping
  25. $cat = $parent_id;
  26. }
  27. return $path . " ";
  28. }
  29.  
  30. function ShowCategoryPathLink($cat,$flag=0) { 
  31. global $site_url,$bold_keyword;
  32. global $keywords;
  33. global $category_separator;
  34.  
  35. if($flag==1) { $view_cat_admin_area = true; }
  36.  
  37. $parent_id = 1000;
  38. while($parent_id) {
  39.  
  40. // read name and parent_id
  41. $query = "select * from category where category_id=$cat";
  42. $result = mysql_query($query);
  43. $parent_id = mysql_result($result,0,'parent_id');
  44. $name = mysql_result($result,0,'name');
  45.  
  46. // bold in search result  
  47. if($bold_keyword) {
  48. $j=0;
  49. while($j<count($keywords)) {
  50. $name = eregi_replace("($keywords[$j])", "<b>1</b>", $name);
  51. $j++;
  52. }
  53. }
  54.  
  55. // set href
  56. if($view_cat_admin_area) {
  57. $href = "<a href=cat_view.php?cat=$cat>";
  58. }
  59. else {
  60. $href = "<a href=$site_url/browse.php?cat=$cat>";
  61. }
  62.  
  63. // write path
  64. if(empty($path)) {
  65. $path = $href.$name."</a>";
  66. }
  67. else {
  68. $path = $href.$name."</a>" . $category_separator . $path;
  69. }
  70.  
  71. // next looping
  72. $cat = $parent_id;
  73. }
  74. return $path;
  75. }
  76. ?>
nevt
Nie masz nawiązanego połączenia z bazą danych... pokaż tek kawałek kodu, który oguje skrypt do bazy...
Woytass
application.php podłączenie do bazy:

  1. <?php
  2. // ----- connect database function -----
  3.  
  4. function ConnectDB($db=-1,$user=-1,$pwd=-1,$host=-1) {
  5.  
  6. if($host!=-1) { $dbHostname = $host; }
  7. else { global $dbHostname; } 
  8.  
  9. if($user!=-1) { $dbUsername = $user; }
  10. else { global $dbUsername; }
  11.  
  12. if($pwd!=-1) { $dbPassword = $pwd; }
  13. else { global $dbPassword; }
  14.  
  15. if($db!=-1) { $dbName = $db; }
  16. else { global $dbName; }
  17.  
  18. MYSQL_CONNECT($dbHostname,$dbUsername,$dbPassword) 
  19. OR DIE("Unable to connect to database");
  20. @mysql_select_db("$dbName") or die("Unable to select database");
  21. }
  22. ?>


Nie wiem czy to ma znaczenie, ale podłączenie do bazy znajduje się na końcu skryptu.
tsharek
napewno ma znaczenie:), ale to jest tylko funkcja, którą pewnie wykorzystujesz na początku skryptu (bo inaczej pod php4 by Ci także nie działało). Zmień 18 linijkę na pisaną z małych liter (PHP5 jest napewno case sensitivity)
Woytass
Cytat(tsharek @ 29.10.2007, 09:32:22 ) *
napewno ma znaczenie:), ale to jest tylko funkcja, którą pewnie wykorzystujesz na początku skryptu (bo inaczej pod php4 by Ci także nie działało). Zmień 18 linijkę na pisaną z małych liter (PHP5 jest napewno case sensitivity)


Niestety nic to nadal nie zmienia. sad.gif
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.