Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: "You have an error in your SQL syntax" przy wysylaniu formularza
Forum PHP.pl > Forum > Przedszkole
PeeSDeOeN
Witam!
Mój problem to wyskakujacy komunikat "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 '' at line 53". W momencie gdy probuje dodac nowa oferte. (Serwis ma na celu zamieszczanie ogloszen typu wynajem mieszkan - oczywiscie darmowy). Niestety kod jest za dlugi aby go umiescic w poscie wiec podaje linka do niego:
link do pliku php

Z gory dziekuje za kazda udzielona odpowiedz.
mlawnik
Angielski znasz?
Jak nie, to google translate ci pomoże.


STFW
wookieb
Czekam na PW z poprawną nazwą tematu. Zamykam.
PeeSDeOeN
Doszedlem juz do tego co bylo nie tak. Lecz pozostala mi kwestia tego iz formularz nie zapisuje danych w bazie..
konole
A mógłbyś wstawić odpowiedzialny za to kod tutaj? Nie chce mi się ściągać plików...
PeeSDeOeN
Cytat(konole @ 28.05.2011, 19:27:58 ) *
A mógłbyś wstawić odpowiedzialny za to kod tutaj? Nie chce mi się ściągać plików...

  1. $kobieta = false;
  2. if (isset($_POST["kobieta"]))
  3. $kobieta = true;
  4. $gaz = false;
  5. if (isset($_POST["gaz"]))
  6. $gaz = true;
  7. $prad = false;
  8. if (isset($_POST["prad"]))
  9. $prad = true;
  10. $woda = false;
  11. if (isset($_POST["woda"]))
  12. $woda = true;
  13. $ogrzewanie = false;
  14. if (isset($_POST["ogrzewanie"]))
  15. $ogrzewanie = true;
  16. $wywoz_smieci = false;
  17. if (isset($_POST["wywoz_smieci"]))
  18. $wywoz_smieci = true;
  19. $internet = false;
  20. if (isset($_POST["internet"]))
  21. $internet = true;
  22. $telefon = false;
  23. if (isset($_POST["telefon"]))
  24. $telefon = true;
  25. $lokal_umeblowany = false;
  26. if (isset($_POST["lokal_umeblowany"]))
  27. $lokal_umeblowany = true;
  28. $lokal_internet = false;
  29. if (isset($_POST["lokal_internet"]))
  30. $lokal_internet = true;
  31. $lokal_kablowka = false;
  32. if (isset($_POST["lokal_kablowka"]))
  33. $lokal_kablowka = true;
  34. $lokal_telefon = false;
  35. if (isset($_POST["lokal_telefon"]))
  36. $lokal_telefon = true;
  37. $lokal_lodowka = false;
  38. if (isset($_POST["lokal_lodowka"]))
  39. $lokal_lodowka = true;
  40. $lokal_pralka = false;
  41. if (isset($_POST["lokal_pralka"]))
  42. $lokal_pralka = true;
  43. $lokal_telewizor = false;
  44. if (isset($_POST["lokal_telewizor"]))
  45. $lokal_telewizor = true;
  46. $lokal_mikrofalowka = false;
  47. if (isset($_POST["lokal_mikrofalowka"]))
  48. $lokal_mikrofalowka = true;
  49. $lokal_balkon = false;
  50. if (isset($_POST["lokal_balkon"]))
  51. $lokal_balkon = true;
  52. $lokal_wanna = false;
  53. if (isset($_POST["lokal_wanna"]))
  54. $lokal_wanna = true;
  55. $lokal_prysznic = false;
  56. if (isset($_POST["lokal_prysznic"]))
  57. $lokal_prysznic = true;
  58. $mezczyzna = false;
  59. if (isset($_POST["mezczyzna"]))
  60. $mezczyzna = true;
  61. $nie_para = false;
  62. if (isset($_POST["nie_para"]))
  63. $nie_para = true;
  64. $nie_student = false;
  65. if (isset($_POST["nie_student"]))
  66. $nie_student = true;
  67. $pracujacy = false;
  68. if (isset($_POST["pracujacy"]))
  69. $pracujacy = true;
  70. $nie_palacy = false;
  71. if (isset($_POST["nie_palacy"]))
  72. $nie_palacy = true;
  73. $bez_zwierzat = false;
  74. if (isset($_POST["bez_zwierzat"]))
  75. $bez_zwierzat = true;
  76.  
  77. if(isset($_POST['send']) && $_POST['send']==1){
  78. if(empty($_POST["wojewodztwo"]) && empty($_POST["miasto"]) && empty($_POST["dzielnica"]) && empty($_POST["ulica"]) && empty($_POST["nr_domu"]) && empty($_POST["typ_lokalu"]) && empty($_POST["typ_zabudowy"]) && empty($_POST["powierzchnia"]) && empty($_POST["liczba_miejsc"]) && empty($_POST["liczba_pokoi"]) && empty($_POST["lokal_wolny_od"]) && empty($_POST["koniec_wynajmu"]) && empty($_POST["cena_za_miejsce"]) && empty($_POST["cena_za_calosc"]) && empty($_POST["kaucja"]) && empty($_POST["imie"]) && empty($_POST["nazwisko"]) && empty($_POST["kontakt_telefon"]) && empty($_POST["email"]) && empty($_POST["temat_ogloszenia"]) && empty($_POST["opis_ogloszenia"])){
  79. ShowForm("Wypelnij pola obowiazkowe!!!");
  80. echo "</tr>
  81. </td>
  82. </table>
  83. </div>
  84. </div>
  85. <div class=\"pasek\">
  86. </div>
  87. <div id=\"copyright\">
  88. Š
  89. </div>
  90. <div id=\"góre\">
  91. <h1><a href=\"#top\"><img src=\"img/wgore.png\">W góre</a></h1>
  92. </div>
  93. </div>
  94. </div>
  95. </div>
  96.  
  97. <!--]>--><script type=\"text/javascript\"></script><div style=\"text-align:center;font-size:11px\" class=\"cbalink\"><a href=\"http://www.cba.pl/\" title=\"darmowy hosting\">Darmowy Hosting</a> CBA.PL<br/><br/></div>
  98. <script type=\"text/javascript\" src=\"http://a.cba.pl/r2.js\"></script>
  99. <script src=\"http://www.google-analytics.com/urchin.js\" type=\"text/javascript\"></script>
  100. <script type=\"text/javascript\">
  101. _uacct = \"UA-2289508-3\";
  102. urchinTracker();
  103. </script>
  104. </body>
  105.  
  106. </html>";
  107. }
  108. {
  109. mysql_query("insert into ogloszenia values(``,
  110. `1`,
  111. `".$_POST['wojewodztwo']."`,
  112. `".htmlspecialchars($_POST["miasto"])."`,
  113. `".htmlspecialchars($_POST["dzielnica"])."`,
  114. `".htmlspecialchars($_POST["ulica"])."`,
  115. `".$_POST["nr_domu"]."`,
  116. `koordynaty_mapy`,
  117. `".$_POST["typ_lokalu"]."`,
  118. `".$_POST["typ_zabudowy"]."`,
  119. `".$_POST["powierzchnia"]."`,
  120. `".$_POST['liczba_miejsc']."`,
  121. `".$_POST['liczba_pokoi']."`,
  122. `".$_POST["lokal_wolny_od"]."`,
  123. `".$_POST["koniec_wynajmu"]."`,
  124. `".$_POST["cena_za_miejsce"]."`,
  125. `".$_POST["cena_za_calosc"]."`,
  126. `".$_POST["kaucja"]."`,
  127. `".$gaz."`,
  128. `".$prad."`,
  129. `".$woda."`,
  130. `".$ogrzewanie."`,
  131. `".$wywoz_smieci."`,
  132. `".$internet."`,
  133. `".$telefon."`,
  134. `".htmlspecialchars($_POST["inne"])."`,
  135. `".$lokal_umeblowany."`,
  136. `".$lokal_internet."`,
  137. `".$lokal_kablowka."`,
  138. `'".$lokal_telefon."`,
  139. `".$lokal_lodowka."`,
  140. `".$lokal_pralka."`,
  141. `".$lokal_telewizor."`,
  142. `".$lokal_mikrofalowka."`,
  143. `".$lokal_balkon."`,
  144. `".$lokal_wanna."`,
  145. `".$lokal_prysznic."`,
  146. `".$kobieta."`,
  147. `".$mezczyzna."`,
  148. `".$nie_para."`,
  149. `".$nie_student."`,
  150. `".$pracujacy."`,
  151. `".$nie_palacy."`,
  152. `".$bez_zwierzat."`,
  153. `".htmlspecialchars($_POST["imie"])."`,
  154. `".htmlspecialchars($_POST["nazwisko"])."`,
  155. `".$_POST["kontakt_telefon"]."`,
  156. `".htmlspecialchars($_POST["email"])."`,
  157. `".$_POST["gadu"]."`,
  158. `".htmlspecialchars($_POST["temat_ogloszenia"])."`,
  159. `".htmlspecialchars($_POST["opis_ogloszenia"])."`,
  160. `brak`,
  161. `NOW()`");
  162. echo "<br>Twoje ogloszenie zostalo dodane!";
  163. }
  164. }
  165. else ShowForm();
  166.  
  167. ?>


Jest ktos w stanie mi w tym pomoc??
Bo ja juz wysiadam.. Potrzebuje tylko aby formularz sie zapisywal w bazie danych.
moge nawet wkleic caly kod php w kilku postach jak ktos tak woli
wookieb
Temat: Jak poprawnie zadac pytanie
Przenosze.
worek
mnóstwo błędów podstawowych. chociaż by przy poleceniu insert

składnia polecenia wygląda mniej więcej tak

INSERT INTO [tabela] (`[kolumna z wartościami]` ,`[kolumna z wartościami]`) VALUES ('wartość' , 'wartość');

to jest polecenie dla wstawienia dwóch wartości, jak dla więcej to chyba się domyślisz co trzeba zrobić, a tak poza tym to powtórkę podstaw polecam.

Stosujesz coś koło 20 warunkó if czy nie lepiej dać foreach lub while i wtedy do tego warunek?? mniej linijek kodu i bardziej przejrzyście. Wyobraź sobie że formularz będzie miał np 100 pól do uzupełnienia. I będzie trzeba zmienić warunek np if(prad = true) wtedy zmieniaj w każdej instrukcji warunek biggrin.gif Co do tych if-ów brakuje klamr otwierających i zamykających. Ogółem możesz wyrzucić laptopa przez okno albo spłukać w toalecie bo kod do niczego się nie nadaje. Pozdrawiam
mortus
1. Linia 107: Przemyśl, czy w tym miejscu koniecznie musisz użyć funkcji exit, bowiem należy pamiętać, że exit powoduje zakończenie wykonywania skryptu.
2. Linia 78: Warunek będzie spełniony, jeśli wszystkie obowiązkowe pola będą puste, a chyba powinien być spełniony, jeśli któreś ze wszystkich obowiązkowych pól będzie puste. Zamień znaki && na ||.
3. Linie 108-109: Dopóki wyżej używasz funkcji exit dopóty wszystko jest w porządku. Ale zamiast tej funkcji exit powinieneś dodać słówko else między nawiasami z tych linii.
4. Linie 110-162: W zapytaniu INSERT używasz ` (gravisów), a powinny być ' (apostrofy) lub " (cudzysłowy).

@worek A co robią ' (apostrofy) przy nazwach kolumn? Tutaj właśnie mają być ` (gravisy). Poza tym if to nie pętla, a instrukcja warunkowa i while-em czy foreach-em tego nie zastąpisz.
webdice
Cytat(worek @ 30.05.2011, 09:53:53 ) *
INSERT INTO [tabela] ('[kolumna z wartościami]' ,'[kolumna z wartościami]') VALUES ('wartość' , 'wartość');


Co Ty za głupoty opowiadasz? Zaglądnij do manuala.
worek
Heh chwytacie za słówka oczywiście o warunek chodziło a wy od razu jazdę robicie, a czy panowie są pewni czy to są wszystkie kolumny z tabeli wypełniane?? Np Samochód jest 13 kolumną a nie jest uzupełnianą i co wtedy?questionmark.gif Zonk. Nie znam struktury tabeli to nie wiem.
mortus
Cytat(worek)
Stosujesz coś koło 20 warunkó if czy nie lepiej dać foreach lub while i wtedy do tego warunek?? ... Co do tych if-ów brakuje klamr otwierających i zamykających.

Zrobienie takiej pętli foreach wcale nie jest takie proste, jak sobie to wyobrażasz i żadnych klamer nie brakuje. Podstawy podstaw!
worek
"A róbta jak chceta" - człowiek chce pomóc to na tym kiepsko wychodzi. Powodzenia z PHP życzę.
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.