Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z mysql_free_result i "}"
Forum PHP.pl > Forum > PHP
MalyKazio
Problem rozwiązany. Miałem powtórzone } po
if ($rowmain[dziendo] == 0) {echo "$rowmain[dzien] $miesiac $rowmain[rok]";}
if ($rowmain[dziendo] != 0) {echo "$rowmain[dzien]";
if ($rowmain[dziendo] > $rowmain[dzien]) echo "-$rowmain[dziendo] $miesiac $rowmain[rok]";
if ($rowmain[dziendo] < $rowmain[dzien]) echo " $miesiac-$rowmain[dziendo] $miesiacdo $rowmain[rok]";}

i stad był problem - przez nieuwagę w jednym miejscu tylko usuwałem.


Witam,

Napisałem kawałek kodu, który ma modyfikować dane w bazie. Niestety napotkałem dziwny problem. Otóż php krzyczy, że napotyka nieoczekiwane "}" jeśli dodam "mysql_free_result" z poprzedzającym je "}" zamykającym while
Czy ktoś wie co może być nie tak? Kod jest w sumie skleceniem kodu z innego napisanego przeze mnie pliku, który jednak działa...
Kod wygląda mniej więcej tak:
  1. <?php
  2.  
  3. /* dane o hasle i bazie danych, polaczenie */
  4.  
  5. $querymain = "SELECT * FROM wystawy WHERE nr=$_POST[nr]";
  6. $wynikmain = mysql_query($querymain);
  7. while ($rowmain = mysql_fetch_assoc($wynikmain)) {
  8.  
  9. echo "<BR>Dane wystawy przed aktualizacją:<BR><BR>"; 
  10. $nazwawystawy=stripslashes($rowmain[nazwa]);
  11. echo "Nazwa wystawy: $nazwawystawy<BR>";
  12. if ($rowmain[organizacja] == 0) echo "Organizacja: Związek Kynologiczny w Polsce<BR>";
  13. if ($rowmain[organizacja] == 1) echo "Organizacja: Polski Klub Psa Rasowego<BR>";
  14.  
  15. if ($rowmain[rodzaj] == 1) echo "Wystawa krajowa<BR>";
  16.  
  17. echo "Data: ";
  18. if ($rowmain[miesiacdo] == 1) $miesiacdo = "stycznia";
  19. if ($rowmain[miesiac] == 1) $miesiac = "stycznia";
  20. /* wycete powtórzenia */
  21. if ($rowmain[miesiacdo] == 12) $miesiacdo = "grudnia";
  22. if ($rowmain[miesiac] == 12) $miesiac = "grudnia";
  23.  
  24. if ($rowmain[dziendo] == 0) {echo "$rowmain[dzien] $miesiac $rowmain[rok]";}
  25. if ($rowmain[dziendo] != 0) {echo "$rowmain[dzien]";
  26. if ($rowmain[dziendo] > $rowmain[dzien]) echo "-$rowmain[dziendo] $miesiac $rowmain[rok]";
  27. if ($rowmain[dziendo] < $rowmain[dzien]) echo " $miesiac-$rowmain[dziendo] $miesiacdo $rowmain[rok]";}
  28. echo ")<BR>";
  29. echo "Miasto: $rowmain[miasto]<BR>";
  30.  
  31. $queryo = "SELECT * FROM oddzialy WHERE nr=$rowmain[oddzial]";
  32. $wyniko = mysql_query($queryo);
  33. while ($rowo = mysql_fetch_assoc($wyniko)) {
  34. echo "Oddział: $rowo[oddzial]";
  35. }
  36.  
  37. $querys = "SELECT * FROM sedziowie WHERE nr=$rowmain[sedzia]";
  38. $wyniks = mysql_query($querys);
  39. while ($rows = mysql_fetch_assoc($wyniks)) {
  40. echo "Sędzia: $rows[sedzia] [$rows[kraj]]";
  41. }
  42.  
  43.  
  44. echo "<BR><BR>Dane wystawy po aktualizacji:<BR><BR>"; 
  45.  
  46. $nowanazwa=stripslashes($_POST[nazwa]);
  47. echo "Nazwa wystawy: $nowanazwa<BR>";
  48. if ($_POST[organizacja] == 0) echo "Organizacja: Związek Kynologiczny w Polsce<BR>";
  49. if ($_POST[organizacja] == 1) echo "Organizacja: Polski Klub Psa Rasowego<BR>";
  50.  
  51. if ($_POST[rodzaj] == 1) echo "Wystawa krajowa<BR>";
  52.  
  53. echo "Data: ";
  54. if ($_POST[miesiacdo] == 1) $miesiacdon = "stycznia";
  55. if ($_POST[miesiac] == 1) $miesiacn = "stycznia";
  56.  
  57. /* [ciach - wyciete powtórzenia] */
  58.  
  59. if ($_POST[miesiacdo] == 12) $miesiacdon = "grudnia";
  60. if ($_POST[miesiac] == 12) $miesiacn = "grudnia";
  61.  
  62. if ($_POST[dziendo] == 0) {echo "$_POST[dzien] $miesiacn $_POST[rok]<BR>";}
  63. if ($_POST[dziendo] != 0) {echo "$_POST[dzien]";
  64. if ($_POST[dziendo] > $_POST[dzien]) echo "-$_POST[dziendo] $miesiacn $_POST[rok]<BR>";
  65. if ($_POST[dziendo] < $_POST[dzien]) echo " $miesiacn-$_POST[dziendo] $miesiacdon $_POST[rok]<BR>";}
  66. }
  67. echo "Miasto: $_POST[miasto]<BR>";
  68.  
  69. $queryon = "SELECT * FROM oddzialy WHERE nr=$_POST[oddzial]";
  70. $wynikon = mysql_query($queryon);
  71. while ($rowon = mysql_fetch_assoc($wynikon)) {
  72. echo "Oddział: $rowon[oddzial]";
  73. }
  74.  
  75. $querysn = "SELECT * FROM sedziowie WHERE nr=$_POST[sedzia]";
  76. $wyniksn = mysql_query($querysn);
  77. while ($rowsn = mysql_fetch_assoc($wyniksn)) {
  78. echo "Sędzia: $rowsn[sedzia] [$rowsn[kraj]]";
  79. }
  80.  
  81.  
  82. $edycja=0;
  83. echo "<BR><BR>Dane wystawy $nazwawystawy zostały zmodyfikowane.";
  84. echo "<BR><a href="index.php">Powrót do strony głównej</a>";
  85.  
  86. $edycjaadmin = "UPDATE wystawy SET nazwa = '$_POST[nazwa]', organizacja = '$_POST[organizacja]', rodzaj = '$_POST[rodzaj]', miasto = '$_POST[miasto]', oddzial = '$_POST[oddzial]', sedzia = '$_POST[sedzia]', dzien = '$_POST[dzien]', miesiac = '$_POST[miesiac]', rok = '$_POST[rok]', dziendo = '$_POST[dziendo]', miesiacdo = '$_POST[miesiacdo]', rokdo = '$_POST[rokdo]', edycja = '$edycja' WHERE nr = $_POST[nr]";
  87. $wynikadmin = mysql_query($edycjaadmin);
  88.  
  89. $aktranking = "UPDATE ranking SET organizacja = '$_POST[organizacja]', miasto = '$_POST[miasto]', oddzial = '$_POST[oddzial]', dzien = '$_POST[dzien]', miesiac = '$_POST[miesiac]', rok = '$_POST[rok]', dziendo = '$_POST[dziendo]', miesiacdo = '$_POST[miesiacdo]', rokdo = '$_POST[rokdo]', rodzaj = '$_POST[rodzaj]', sedzia = '$_POST[sedzia]' WHERE wystawa = $_POST[nr]";
  90. $wynikakt = mysql_query($aktranking);
  91.  
  92.  
  93.  
  94. mysql_close($link);
  95.  
  96.  
  97. ?>


Na pocżątku wstawiłem
  1. <?php
  2. }
  3. mysql_free_result($wynikmain);
  4.  
  5. ?>

tuż przed mysql_close($link);, potem próbowałem też po mysql_free_result($wyniks); ale zawsze ten sam skutek: unexpected }
dr_bonzo
1. wkaz w kodzie o ktora linie php sie pluje
2. naucz sie formatowac kod -- latwiej dostrzerzesz/unikniesz tego typu bledy.
----
no to sie spoznilem...
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.