Voor m'n werk ben ik bezig met een systeempje om klanten in te registreren.
Ik heb daarvoor de volgende code in php geschreven:
Bij het uitvoeren van de query, verderop in de code krijg ik de standaard mysql error
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 '' at line 2
Alle waarden die niet in single quotes staan zijn numeriek. Input is gecheckt
Nu komt het: Ik heb géén idee wat er fout gaat! Ik heb de output ge-echo't, en die in een terminal met mysql geplakt, en het resultaat is prima! De gegevens worden direct in de database geplaatst.
Als ik echo, krijg ik deze query:
Het móet iets kleins zijn, maar ik ben al úúúren aan het zoeken en googlen geweest.
Wat ik heb gedaan:
- alle backquotes weggehaald om de tabelnamen (resultaat zie je in de code hierboven
- alles mét backquotes om de tabelnamen
- alle variabelen in single quotes gezet
- een andere query opgesteld, waarbij ook het eerste deel van de insertquery in de while loop zat.
- gegoogled of php misschien iets doet met de quotes
- andere mogelijke oorzaken gegoogled.
Ik ben radeloos! Wie geeft me een zet in de juiste richting?
Ik heb daarvoor de volgende code in php geschreven:
PHP:
1
2
3
4
5
6
7
8
| $insertquery="INSERT INTO Employees(EmployeeID, EmployeeFirstName, EmployeeLastName, EmployeePhone, CompanyID, ActiveDate, PackageID, HasToken, HasBlackberry) VALUES"; while (!empty($_POST["EmployeeFirstName$i"]) && $error==0) { $insertquery.="(NULL, '$EmployeeFirstName', '$EmployeeLastName', $EmployeePhone, $CompanyID, '$ActiveDate', $PackageID, $HasToken, $HasBlackberry),"; $i++; } |
Bij het uitvoeren van de query, verderop in de code krijg ik de standaard mysql error
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 '' at line 2
Alle waarden die niet in single quotes staan zijn numeriek. Input is gecheckt
Nu komt het: Ik heb géén idee wat er fout gaat! Ik heb de output ge-echo't, en die in een terminal met mysql geplakt, en het resultaat is prima! De gegevens worden direct in de database geplaatst.
Als ik echo, krijg ik deze query:
code:
1
2
3
| INSERT INTO Employees(EmployeeID, EmployeeFirstName, EmployeeLastName, EmployeePhone, CompanyID, ActiveDate, PackageID, HasToken, HasBlackberry) VALUES ('NULL', 'erik', 'lkjasfd', 12, 18, '2010-12-12', 2, 0, 1), ('NULL', 'erik', 'lkjsaflkjlkj', 12, 18, '2010-12-12', 1, 1, 1), |
Het móet iets kleins zijn, maar ik ben al úúúren aan het zoeken en googlen geweest.
Wat ik heb gedaan:
- alle backquotes weggehaald om de tabelnamen (resultaat zie je in de code hierboven
- alles mét backquotes om de tabelnamen
- alle variabelen in single quotes gezet
- een andere query opgesteld, waarbij ook het eerste deel van de insertquery in de while loop zat.
- gegoogled of php misschien iets doet met de quotes
- andere mogelijke oorzaken gegoogled.
Ik ben radeloos! Wie geeft me een zet in de juiste richting?