Beste,
Om wat ervaring op te doen ben ik bezig met het maken van wat standaard form submit pagina's alleen loop ik tegen een foutmelding aan waar ik weinig mee kan.
Ik heb de melding opgezocht en het zou iets te maken moeten hebben met een haakje dat verkeerd staat maar kan het alsnog niet vinden.Error, query failed : 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 'show, datum, plaats, verslag ) VALUES ('', '', '', '', '', '')' at line 1
Hopelijk kan iemand me een eindje op weg helpen. (Tips zijn ook altijd welkom.)Code:<? ob_start("ob_gzhandler"); include "config.php"; session_start(); if(isset($_POST['verzenden'])) { $query = "INSERT INTO reacties (naam, artiest, show, datum, plaats, reactie) ". "VALUES ('".$_POST['naam']."', '".$_POST['artiest']."', '".$_POST['show']."', '".$_POST['datum']."', '".$_POST['plaats']."', '".$_POST['reactie']."')"; mysql_query($query) or die('Error, query failed : ' . mysql_error()); echo "<br />Bedankt voor het posten van uw reactie.<br />"; } ?>
Met vriendelijke groet,
Thijs
- form submit probleem
-
26-01-2010, 22:34 #1
- Berichten
- 418
- Lid sinds
- 16 Jaar
form submit probleem
-
In de schijnwerper
Websitedown.nl - Controleren of jou of andere websites online of offline zijnWebsite te koopBacklinks.nl - Groot assortiment | Bekijk NR. 1 voorbeelden <---AdvertentieruimteLaravel / Wordpress - Top kwaliteit voor een gunstig tariefFreelance / WerkBetaalde blogs aangeboden Wonen, Reizen en GezondheidAdvertentieruimte -
26-01-2010, 22:56 #2
- Berichten
- 494
- Lid sinds
- 18 Jaar
ik ben geen php expert maar ik snap dat puntje in je query niet zo goed. Doe dit eens:
$query = "INSERT INTO reacties (naam, artiest, show, datum, plaats, reactie) VALUES ('".$_POST['naam']."', '".$_POST['artiest']."', '".$_POST['show']."', '".$_POST['datum']."', '".$_POST['plaats']."', '".$_POST['reactie']."')";
-
26-01-2010, 22:57 #3
- Berichten
- 2.971
- Lid sinds
- 18 Jaar
Zet show eens tussen `
-
26-01-2010, 23:11 #4
- Berichten
- 418
- Lid sinds
- 16 Jaar
@ Michal D
Nee, was het helaas niet. Zelfde melding.
@ Vincent
Heeft helaas ook niet geholpen.
-
26-01-2010, 23:24 #5
- Berichten
- 2.971
- Lid sinds
- 18 Jaar
Copy/paste je code nogmaals met mijn wijziging eens.
-
26-01-2010, 23:26 #6
- Berichten
- 418
- Lid sinds
- 16 Jaar
Neem aan dat je het zo bedoeld?
Code:$query = "INSERT INTO reacties (naam, artiest, 'show', datum, plaats, reactie) ".
Code:MySQL server version for the right syntax to use near ''show', datum, plaats, verslag )
-
26-01-2010, 23:36 #7
- Berichten
- 802
- Lid sinds
- 19 Jaar
(show, datum, plaats, verslag )
$query = "INSERT INTO `reacties` (naam, artiest, show, datum, plaats, reactie) VALUES ('".$_POST['naam']."', '".$_POST['artiest']."', '".$_POST['show']."', '".$_POST['plaats']."', '".$_POST['reactie']."');
-
27-01-2010, 06:26 #8
- Berichten
- 49
- Lid sinds
- 15 Jaar
Je wilt 6 velden invullen zeg je tegen mysql, daarna geen je maar 5 waarden, je mist datum ;)
Verder moet je nooit zomaar die POST waarden meteen in je database stoppen ivm de beveiliging.
Ten eerste wil je die waarden controleren, of er wel iets in ingevuld. Ten tweede moet je eigenlijk mysql_real_excape_string() gebruiken bij het invoeren. Namelijk zo:
INSERT INTO tabel (veld) VALUES ('".mysql_real_escape_string($_POST['waarde'])."');
dat is veilig(er)
-
27-01-2010, 06:52 #9
- Berichten
- 126
- Lid sinds
- 15 Jaar
De opmerking van Vincent heb je niet correct doorgevoerd.
Vincent bedoelde ` in plaats van '
Het teken ` zit op de meeste toetsenborden links van de 1.
Het veld show moet tussen dit teken staan, omdat het een gereserveerd woord is in MySql.
Bijvoorbeeld in het commando 'show columns from <table>'.
-
27-01-2010, 09:26 #10
- Berichten
- 418
- Lid sinds
- 16 Jaar
De opmerking van Vincent heb je niet correct doorgevoerd.
Vincent bedoelde ` in plaats van '
Het teken ` zit op de meeste toetsenborden links van de 1.
Het veld show moet tussen dit teken staan, omdat het een gereserveerd woord is in MySql.
Bijvoorbeeld in het commando 'show columns from <table>'.
@ Ronald_M
Ik heb me tot op heden nog niet bezig gehouden met "Veilig" scripten, hier moet ik me de komende tijd maar eens in gaan verdiepen. Ik zal ook even met je advies aan de gang gaan, bedankt.
Graag wil ik graag iedereen bedankt voor zijn hulp. Het probleem is verholpen.
-
27-01-2010, 09:31 #11
- Berichten
- 376
- Lid sinds
- 18 Jaar
-
27-01-2010, 09:54 #12
- Berichten
- 2.971
- Lid sinds
- 18 Jaar
Neem aan dat je het zo bedoeld?
Code:$query = "INSERT INTO reacties (naam, artiest, 'show', datum, plaats, reactie) ".
Code:MySQL server version for the right syntax to use near ''show', datum, plaats, verslag )
-
27-01-2010, 10:11 #13
- Berichten
- 418
- Lid sinds
- 16 Jaar
@ Peter W.
Dat wist ik niet, vandaar dus :).
@ Vincent
Ewout had daarover al gereageerd dat ik `show` moest gebruiken ipv 'show'. Nogmaals bedankt voor je hulp Vincent.
-
27-01-2010, 11:53 #14
- Berichten
- 802
- Lid sinds
- 19 Jaar
Werkte die van mij niet dan?
-
27-01-2010, 12:25 #15
- Berichten
- 376
- Lid sinds
- 18 Jaar
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