Ik ben bezig met een simpel reserveringsscript voor mijn bedrijf, dit moet morgen klaar zijn dus het wordt nachtwerk voor mij.. dat sowieso...
Nu heb ik een formulier en wil ik alle data in de database zetten.. Nu krijg ik alleen die heerlijke fout:
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 ')
Is er iemand die mij vrijwillig wil helpen? (op msn zodat ik de bestanden kan sturen zodat er kan worden meegekeken)
- MySQL probleem
-
11-02-2010, 21:15 #1
- Berichten
- 216
- Lid sinds
- 15 Jaar
MySQL probleem
-
11-02-2010, 21:35 #2
- Berichten
- 95
- Lid sinds
- 18 Jaar
Plaats hier eens de query? Ik gok persoonlijk dat je een haakje of komma bent vergeten.
-
11-02-2010, 21:39 #3
- Berichten
- 1.410
- Lid sinds
- 16 Jaar
Als je een error in je sql hebt is het makkelijk als je de sql hier post ;-)
-
11-02-2010, 21:48 #4
- Berichten
- 216
- Lid sinds
- 15 Jaar
Het is een lelijke code:
mysql_query("INSERT INTO res_boeking (res_programma, res_datum, res_tijd, res_personen, res_totaalprijs, res_aanhef, res_voorletters, res_tussenvoegsel, res_achternaam, res_adres, res_postcode, res_woonplaats, res_telefoon, res_telefoon_twee, res_email, res_geboortedatum, res_door, res_geslacht_1, res_voorletters_1, res_tussenvoegsel_1, res_achternaam_1, res_geboortedatum_1, res_geslacht_2, res_voorletters_2, res_tussenvoegsel_2, res_achternaam_2, res_geboortedatum_2, res_geslacht_3, res_voorletters_3, res_tussenvoegsel_3, res_achternaam_3, res_geboortedatum_3, res_geslacht_4, res_voorletters_4, res_tussenvoegsel_4, res_achternaam_4, res_geboortedatum_4, res_geslacht_5, res_voorletters_5, res_tussenvoegsel_5, res_achternaam_5, res_geboortedatum_5, res_geslacht_6, res_voorletters_6, res_tussenvoegsel_6, res_achternaam_6, res_geboortedatum_6, ) VALUES ('".$_POST['programma']."', '".$_POST['datum']."', '".$_POST['tijd']."', '".$_POST['aantal']."', '".$totaal_prijs."', '".$_POST['aanhef']."', '".$_POST['voorletters']."', '".$_POST['tussenvoegsel']."', '".$_POST['achternaam']."', '".$_POST['adres']."', '".$_POST['postcode']."', '".$_POST['woonplaats']."', '".$_POST['telefoon1']."', '".$_POST['telefoon2']."', '".$_POST['email']."', '".$_POST['geboortedatum']."', '".$_SESSION['gebruiker']."', '".$_POST['geslacht1']."', '".$_POST['voorletters1']."', '".$_POST['tussenvoegsel1']."', '".$_POST['achternaam1']."', '".$_POST['geboortedatum1']."', '".$_POST['geslacht2']."', '".$_POST['voorletters2']."', '".$_POST['tussenvoegsel2']."', '".$_POST['achternaam2']."', '".$_POST['geboortedatum2']."', '".$_POST['geslacht3']."', '".$_POST['voorletters3']."', '".$_POST['tussenvoegsel3']."', '".$_POST['achternaam3']."', '".$_POST['geboortedatum3']."', '".$_POST['geslacht4']."', '".$_POST['voorletters4']."', '".$_POST['tussenvoegsel4']."', '".$_POST['achternaam4']."', '".$_POST['geboortedatum4']."', '".$_POST['geslacht5']."', '".$_POST['voorletters5']."', '".$_POST['tussenvoegsel5']."', '".$_POST['achternaam5']."', '".$_POST['geboortedatum5']."'), '".$_POST['geslacht6']."', '".$_POST['voorletters6']."', '".$_POST['tussenvoegsel6']."', '".$_POST['achternaam6']."', '".$_POST['geboortedatum6']."'") or die(mysql_error());
-
11-02-2010, 21:49 #5
- Berichten
- 95
- Lid sinds
- 18 Jaar
Er staat een komma achter res_geboortedatum_6. Haal deze eens weg? :)
-
11-02-2010, 21:49 #6
- Berichten
- 792
- Lid sinds
- 19 Jaar
Dat is inderdaad vrij lelijke code, en 't lijkt me verstandig dat je je databasemodel even goed nakijkt en verbetert.
Maargoed. Ik heb weinig zin om die code uit te pluizen, maar geef het zo eens een kans:
Code:mysql_query("INSERT INTO res_boeking (res_programma, res_datum, res_tijd, res_personen, res_totaalprijs, res_aanhef, res_voorletters, res_tussenvoegsel, res_achternaam, res_adres, res_postcode, res_woonplaats, res_telefoon, res_telefoon_twee, res_email, res_geboortedatum, res_door, res_geslacht_1, res_voorletters_1, res_tussenvoegsel_1, res_achternaam_1, res_geboortedatum_1, res_geslacht_2, res_voorletters_2, res_tussenvoegsel_2, res_achternaam_2, res_geboortedatum_2, res_geslacht_3, res_voorletters_3, res_tussenvoegsel_3, res_achternaam_3, res_geboortedatum_3, res_geslacht_4, res_voorletters_4, res_tussenvoegsel_4, res_achternaam_4, res_geboortedatum_4, res_geslacht_5, res_voorletters_5, res_tussenvoegsel_5, res_achternaam_5, res_geboortedatum_5, res_geslacht_6, res_voorletters_6, res_tussenvoegsel_6, res_achternaam_6, res_geboortedatum_6) VALUES ('".$_POST['programma']."', '".$_POST['datum']."', '".$_POST['tijd']."', '".$_POST['aantal']."', '".$totaal_prijs."', '".$_POST['aanhef']."', '".$_POST['voorletters']."', '".$_POST['tussenvoegsel']."', '".$_POST['achternaam']."', '".$_POST['adres']."', '".$_POST['postcode']."', '".$_POST['woonplaats']."', '".$_POST['telefoon1']."', '".$_POST['telefoon2']."', '".$_POST['email']."', '".$_POST['geboortedatum']."', '".$_SESSION['gebruiker']."', '".$_POST['geslacht1']."', '".$_POST['voorletters1']."', '".$_POST['tussenvoegsel1']."', '".$_POST['achternaam1']."', '".$_POST['geboortedatum1']."', '".$_POST['geslacht2']."', '".$_POST['voorletters2']."', '".$_POST['tussenvoegsel2']."', '".$_POST['achternaam2']."', '".$_POST['geboortedatum2']."', '".$_POST['geslacht3']."', '".$_POST['voorletters3']."', '".$_POST['tussenvoegsel3']."', '".$_POST['achternaam3']."', '".$_POST['geboortedatum3']."', '".$_POST['geslacht4']."', '".$_POST['voorletters4']."', '".$_POST['tussenvoegsel4']."', '".$_POST['achternaam4']."', '".$_POST['geboortedatum4']."', '".$_POST['geslacht5']."', '".$_POST['voorletters5']."', '".$_POST['tussenvoegsel5']."', '".$_POST['achternaam5']."', '".$_POST['geboortedatum5']."'), '".$_POST['geslacht6']."', '".$_POST['voorletters6']."', '".$_POST['tussenvoegsel6']."', '".$_POST['achternaam6']."', '".$_POST['geboortedatum6']."')") or die(mysql_error());
-
11-02-2010, 21:51 #7
- Berichten
- 216
- Lid sinds
- 15 Jaar
Thanks! hij blijft nog wel de error geven dus er zit nog ergens een leesteken fout! :P
-
11-02-2010, 21:53 #8
- Berichten
- 95
- Lid sinds
- 18 Jaar
Mag ik je trouwens aanraden eens te gaan kijken naar je database structuur? Zo kun je bijvoorbeeld van de verschillende namen één tabel maken met meerdere records. Deze verbindt je dan aan de unieke ID van je hoofdtabel van reserveringen. Dat maakt het overzichtelijker en over het algemeen makkelijker te bewerken.
Edit: Achter $_POST['geboortedatum_5'] staat een haak die aan de eind van de query moet staan.
-
11-02-2010, 21:59 #9
- Berichten
- 216
- Lid sinds
- 15 Jaar
@Arjen Thanks dat was het probleem!
Normaal normaliseer ik alles veel beter, maar dit moet met spoed worden gemaakt en moet morgenochtend klaar zijn. Ik heb zelf geen zin om heel mooi te maken en het is ook maar voor tijdelijk gebruik.
-
12-02-2010, 09:22 #10
- Berichten
- 257
- Lid sinds
- 15 Jaar
Nog een tip: gebruik de sprintf function van php. Wordt je code veel leesbaarder van en minder foutgevoelig.
Verder zal ik het maar niet hebben over het klakkeloos overnemen van user-input in je DB-query... Ik ga ervan uit dat je de gebruikers 100% vertrouwt!
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic