Archief - Mysql query fout

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

blub

Legacy Member
Ello,

ik bezig met een website in php en de volgende code
moet gegevens van een formulier in de database schrijven
met deze code:

PHP:
$tabelnaam = $_GET['table'];//tabelnaam uit url halen
$query = "insert into $tabelnaam (#,Naam,Voornaam,Straat,Gemeente,Telefoonnummer,GSM,Email) VALUES ('','$_POST[insertnaam]','$_POST[insertvoornaam]','$_POST[insertstraat]','$_POST[insertgemeente]','$_POST[inserttel]','$_POST[insertgsm]','$_POST[insertmail]')"; 
mysql_query($query)or die(mysql_error());

ik krijg volgende 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 '' at line 1


Heb al vanalles geprobeerd,maar geen idee wat de fout is,misschien dat
een ander paar ogen het wel zien?:)

Thx in advance

dJeez

Legacy Member
# gebruiken als veldnaam lijkt mij al raar. En wat je doet is daarenboven onnoemelijk gevaarlijk, een tabelnaam in de URL meegeven (not done, ever), en dan code gebruiken die gemaakt is voor misbruik door SQL injections...

blub

Legacy Member
mja i know,ma tis voor prive gebruik dus niemand zal daar iets mee doen:)
ma dat antwoord mn vraag niet echt...
phpmyadmin zegt dat # wel kan blijkbaar.

Tyfius

Legacy Member
Die '#' staat daar redelijk hard nutteloos te wezen. Normaal zet je in je MySQL databse dat veld op "auto increment" en dan moet je je daar in je query niets van aan trekken.

Door duidelijke en propere code te schrijven kom je al een heel eind.
PHP:
$query = "INSERT INTO `".$tabelnaam."` (`Naam`, `Voornaam`, `Straat`, `Gemeente`, "
       . "`Telefoonnummer`, `GSM`, `Email`) "
       . "VALUES ('".$_POST['insertnaam']."', '".$_POST['insertvoornaam']."', "
       . "'".$_POST['insertstraat']."', '".$_POST['insertgemeente']."', "
       . "'".$_POST['inserttel']."', '".$_POST['insertgms']."', '".$_POST['insertmail']."')";

killgore

Legacy Member
ik gok dat het veld # (slechte naam zoals al gezegd) een integer is, dan kan je daar niet '' in invullen, '' is immers een string (de lege string om meer specifiek te zijn).
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan