mijn insert sql query werkt niet, wat gaat er mis?

Status
Niet open voor verdere reacties.

Stefto

Gebruiker
Lid geworden
6 okt 2011
Berichten
40
hallo,

bij mijn query gaat het ergens mis, en ik heb geen flauw idee waar het mis gaat, ziet iemand van jullie het toevallig?

ik kirjg de volgende error:"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 ') VALUES ( '3April2014', 'Jan peter balkenden', '', 'Kennismaking', 'Ja' ' at line 42"
op lijn 42 van mijn code staat een echo ($var); dus ik denk niet dat het in de php zit.

Code:
$insert_query = "INSERT INTO enrties(
`datum`,
`naamRelatie`,
`ContactPersoon`,
`bezoekreden`,
`mamutgewenst`,
`MamutProduct Range`,
`totaleaantalLicenties`,
`HoofdLicenties`,
`extraLicenties`,
`CRM&Log`,
`GewensdeService`,
`Worx4allgewenst`,
`looptijd`,
`LicentieType`,
`aantalServeraccounts`,
`msoffice`,
`OfficeLicenties`,
`msOutlook`,
`OutlookLicenties`,
`msExchange`,
`ExchangeLicenties`,
`domeinverhuizen`,
`aantalAdministraties`,
`Dienstgewenst`,
`AdHoc`,
`SPPS`,
`SPPSduur`,
`StrippekaartsrConsult`,
`strippekaartontwikkeling`,
`Maatwerkgewenst`,
`SolidScan`,
`Solidcrm`,
`Solidmatrix`,
`Solidmrp`,
`SolidParcel`,
`SolidDiscount`,
`SolidEdi`,
`LayoutPack`,
`Anders`,
`invuller`,
)
 VALUES (
'{$_SESSION[Datum]}',
'{$_SESSION[RelatieNaam]}',
'{$_SESSION[ContractPersoon]}',
'{$_SESSION[redenBezoek]}',
'{$_SESSION[mamutGewenst]}'
'{$_SESSION[productRange]}',
'{$_SESSION[mamutAantalLics]}',
'{$_SESSION[ExtraLicentie]}',
'{$_SESSION[CRMLog]}',
'{$_SESSION[gewensteService]}',
'{$_SESSION[worx4allGewenst]}',
'{$_SESSION[worxLoopTijd]}',
'{$_SESSION[worxLic]}',
'{$_SESSION[AantalServers]}',
'{$_SESSION[msOffice]}',
'{$_SESSION[OfficeLicenties]}',
'{$_SESSION[msOutlook]}',
'{$_SESSION[OutlookLicenties]}',
'{$_SESSION[msexchange]}',
'{$_SESSION[ExchangeLicenties]}',
'{$_SESSION[domeinVerhuizen]}',
'{$_SESSION[aantalAdministraties]}',
'{$_SESSION[dienstGewenst]}',
'{$_SESSION[AdHoc]}',
'{$_SESSION[SPPS]}',
'{$_SESSION[sppsTijd]}',
'{$_SESSION[skaart]}',
'{$_SESSION[STRIPPEKAARTCONSULT]}',
'{$_SESSION[STRIPPEKAARTCONSULTontwik]}',
'{$_SESSION[maatwerkGewenst]}',
'{$_SESSION[SolidScan]}',
'{$_SESSION[Solidcrm]}',
'{$_SESSION[Solidmatrix]}',
'{$_SESSION[Solidmrp]}',
'{$_SESSION[SolidParcel]}',
'{$_SESSION[SolidDiscount]}',
'{$_SESSION[SolidEdi]}',
'{$_SESSION[LayoutPack]}',
'{$_SESSION[Anders]}',
'{$_SESSION[invuller]}')" or die(mysql_error());

mysql_query($insert_query) or die (mysql_error());
 
Het gaat om regel 42 van de SQL-query ;)

Gezien de foutmelding is dat bij '{$_SESSION[mamutGewenst]}' aangezien daar een komma mist ;)

Is er een specifieke reden voor het gebruik van sessie-variabelen? Waarom geen $_POST i.p.v. $_SESSION?
 
Het gaat om regel 42 van de SQL-query ;)

Gezien de foutmelding is dat bij '{$_SESSION[mamutGewenst]}' aangezien daar een komma mist ;)

Is er een specifieke reden voor het gebruik van sessie-variabelen? Waarom geen $_POST i.p.v. $_SESSION?

ja, de waardes worden op verschillende pagina's opgeslagen.
ik heb de code een tikkie aangepast, en krijg de zelfde error, ik begin te vermoede dat de fout ergens anders ligt.
 
Dus dit is nu je query?
[sql]
INSERT INTO enrties(
`datum`,
`naamRelatie`,
`ContactPersoon`,
`bezoekreden`,
`mamutgewenst`,
`MamutProduct Range`,
`totaleaantalLicenties`,
`HoofdLicenties`,
`extraLicenties`,
`CRM&Log`,
`GewensdeService`,
`Worx4allgewenst`,
`looptijd`,
`LicentieType`,
`aantalServeraccounts`,
`msoffice`,
`OfficeLicenties`,
`msOutlook`,
`OutlookLicenties`,
`msExchange`,
`ExchangeLicenties`,
`domeinverhuizen`,
`aantalAdministraties`,
`Dienstgewenst`,
`AdHoc`,
`SPPS`,
`SPPSduur`,
`StrippekaartsrConsult`,
`strippekaartontwikkeling`,
`Maatwerkgewenst`,
`SolidScan`,
`Solidcrm`,
`Solidmatrix`,
`Solidmrp`,
`SolidParcel`,
`SolidDiscount`,
`SolidEdi`,
`LayoutPack`,
`Anders`,
`invuller`,
)
VALUES (
'{$_SESSION[Datum]}',
'{$_SESSION[RelatieNaam]}',
'{$_SESSION[ContractPersoon]}',
'{$_SESSION[redenBezoek]}',
'{$_SESSION[mamutGewenst]}',
'{$_SESSION[productRange]}',
'{$_SESSION[mamutAantalLics]}',
'{$_SESSION[ExtraLicentie]}',
'{$_SESSION[CRMLog]}',
'{$_SESSION[gewensteService]}',
'{$_SESSION[worx4allGewenst]}',
'{$_SESSION[worxLoopTijd]}',
'{$_SESSION[worxLic]}',
'{$_SESSION[AantalServers]}',
'{$_SESSION[msOffice]}',
'{$_SESSION[OfficeLicenties]}',
'{$_SESSION[msOutlook]}',
'{$_SESSION[OutlookLicenties]}',
'{$_SESSION[msexchange]}',
'{$_SESSION[ExchangeLicenties]}',
'{$_SESSION[domeinVerhuizen]}',
'{$_SESSION[aantalAdministraties]}',
'{$_SESSION[dienstGewenst]}',
'{$_SESSION[AdHoc]}',
'{$_SESSION[SPPS]}',
'{$_SESSION[sppsTijd]}',
'{$_SESSION[skaart]}',
'{$_SESSION[STRIPPEKAARTCONSULT]}',
'{$_SESSION[STRIPPEKAARTCONSULTontwik]}',
'{$_SESSION[maatwerkGewenst]}',
'{$_SESSION[SolidScan]}',
'{$_SESSION[Solidcrm]}',
'{$_SESSION[Solidmatrix]}',
'{$_SESSION[Solidmrp]}',
'{$_SESSION[SolidParcel]}',
'{$_SESSION[SolidDiscount]}',
'{$_SESSION[SolidEdi]}',
'{$_SESSION[LayoutPack]}',
'{$_SESSION[Anders]}',
'{$_SESSION[invuller]}'[/sql]

Als je nog steeds een foutmelding krijgt dan ligt het toch in de waarde van de variabelen.
Daar kunnen tekens in zitten die SQL interpreteert en waardoor de query klapt.

Een manier om daar achter te komen is de query te echoën.
 
de eerste fout opgelost lol, ironisch genoeg iets anders als wat hier en op adere forums gezegt was ;)
bij de onderste invuller stond een komma die er niet hoorde te staan
nu zeggen ze iets van dat de row count niet klopt.

"Column count doesn't match value count at row 1"
[sql]$insert_query = "INSERT INTO enrties(
`VerslagID`,
`datum`,
`naamRelatie`,
`ContactPersoon`,
`bezoekreden`,
`mamutgewenst`,
`MamutProduct Range`,
`totaleaantalLicenties`,
`HoofdLicenties`,
`extraLicenties`,
`CRM&Log`,
`GewensdeService`,
`Worx4allgewenst`,
`looptijd`,
`LicentieType`,
`aantalServeraccounts`,
`msoffice`,
`OfficeLicenties`,
`msOutlook`,
`OutlookLicenties`,
`msExchange`,
`ExchangeLicenties`,
`domeinverhuizen`,
`aantalAdministraties`,
`Dienstgewenst`,
`AdHoc`,
`SPPS`,
`SPPSduur`,
`StrippekaartsrConsult`,
`strippekaartontwikkeling`,
`Maatwerkgewenst`,
`SolidScan`,
`Solidcrm`,
`Solidmatrix`,
`Solidmrp`,
`SolidParcel`,
`SolidDiscount`,
`SolidEdi`,
`LayoutPack`,
`Anders`,
`invuller`
)
VALUES (
'null'
'".mysql_real_escape_string($_SESSION['Datum'])."',
'".mysql_real_escape_string($_SESSION['RelatieNaam'])."',
'".mysql_real_escape_string($_SESSION['ContractPersoon'])."',
'".mysql_real_escape_string($_SESSION['redenBezoek'])."',
'".mysql_real_escape_string($_SESSION['mamutGewenst'])."',
'".mysql_real_escape_string($_SESSION['productRange'])."',
'".mysql_real_escape_string($_SESSION['mamutAantalLics'])."',
'".mysql_real_escape_string($_SESSION['ExtraLicentie'])."',
'".mysql_real_escape_string($_SESSION['CRMLog'])."',
'".mysql_real_escape_string($_SESSION['gewensteService'])."',
'".mysql_real_escape_string($_SESSION['worx4allGewenst'])."',
'".mysql_real_escape_string($_SESSION['worxLoopTijd'])."',
'".mysql_real_escape_string($_SESSION['worxLic'])."',
'".mysql_real_escape_string($_SESSION['AantalServers'])."',
'".mysql_real_escape_string($_SESSION['msOffice'])."',
'".mysql_real_escape_string($_SESSION['OfficeLicenties'])."',
'".mysql_real_escape_string($_SESSION['msOutlook'])."',
'".mysql_real_escape_string($_SESSION['OutlookLicenties'])."',
'".mysql_real_escape_string($_SESSION['msexchange'])."',
'".mysql_real_escape_string($_SESSION['ExchangeLicenties'])."',
'".mysql_real_escape_string($_SESSION['domeinVerhuizen'])."',
'".mysql_real_escape_string($_SESSION['aantalAdministraties'])."',
'".mysql_real_escape_string($_SESSION['dienstGewenst'])."',
'".mysql_real_escape_string($_SESSION['AdHoc'])."',
'".mysql_real_escape_string($_SESSION['SPPS'])."',
'".mysql_real_escape_string($_SESSION['sppsTijd'])."',
'".mysql_real_escape_string($_SESSION['skaart'])."',
'".mysql_real_escape_string($_SESSION['STRIPPEKAARTCONSULT'])."',
'".mysql_real_escape_string($_SESSION['STRIPPEKAARTCONSULTontwik'])."',
'".mysql_real_escape_string($_SESSION['maatwerkGewenst'])."',
'".mysql_real_escape_string($_SESSION['SolidScan'])."',
'".mysql_real_escape_string($_SESSION['Solidcrm'])."',
'".mysql_real_escape_string($_SESSION['Solidmatrix'])."',
'".mysql_real_escape_string($_SESSION['olidmrp'])."',
'".mysql_real_escape_string($_SESSION['SolidParcel'])."',
'".mysql_real_escape_string($_SESSION['SolidDiscount'])."',
'".mysql_real_escape_string($_SESSION['SolidEdi'])."',
'".mysql_real_escape_string($_SESSION['LayoutPack'])."',
'".mysql_real_escape_string($_SESSION['Anders'])."',
'".mysql_real_escape_string($_SESSION['invuller'])."');";[/sql]

laat maar, heb hem opgelosd ;)
 
Laatst bewerkt:
FOEI dat u zulke hoeveelheid data niet oo doet Merk op dat u bij wijzigingen veel problemen zal hebben.(sorry voor de uitlating maar is het om het meest tijd verspillen.)Maar mogelijk zal het u niet boeien dit te wijzigen.
 
FOEI dat u zulke hoeveelheid data niet oo doet Merk op dat u bij wijzigingen veel problemen zal hebben.(sorry voor de uitlating maar is het om het meest tijd verspillen.)Maar mogelijk zal het u niet boeien dit te wijzigen.

owke.... waar kwam dit vandaan?
 
@kenikavanbis: Aan iemand die de mensen de les wil laten lezen hebben wij geen behoefte. Daar hebben we moderators voor.

Objectgeörienteerd (OO) zou inderdaad handiger zijn maar het is aannemelijk dat dit stukje onderdeel is van een groter script en het voor "Stefto" niet haalbaar is om dat allemaal om te zetten naar OO.

Laat de volgende keer zulke reacties dus achterwege.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan