Error in SQL syntax, formulier verzend niet!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?
include 'mysql.php';
// formulier POST variabelen ophalen
$voornaam = $_POST['voornaam'];
$achternaam = $_POST['achternaam'];
$tussenvoegsel = $_POST['tussenvoegsel'];
$email = $_POST['email'];
$school = $_POST['school'];
$k1 = $_POST['k1'];
$k2 = $_POST['k2'];
$k3 = $_POST['k3'];
$k4 = $_POST['k4'];
$k5 = $_POST['k5'];
$k6 = $_POST['k6'];
$k7 = $_POST['k7'];
$k8 = $_POST['k8'];
$k9 = $_POST['k9'];
$k10 = $_POST['k10'];
$k11 = $_POST['k11'];
$k12 = $_POST['k12'];
$k13 = $_POST['k13'];
$k14 = $_POST['k14'];
$k15 = $_POST['k15'];
$k16 = $_POST['k16'];
$k17 = $_POST['k17'];
$k18 = $_POST['k18'];
$k19 = $_POST['k19'];
$k20 = $_POST['k20'];
$k21 = $_POST['k21'];
$r1 = $_POST['r1'];
$r2 = $_POST['r2'];
$r3 = $_POST['r3'];
$r4 = $_POST['r4'];
$r5 = $_POST['r5'];
$r6 = $_POST['r6'];
$r7 = $_POST['r7'];
$r8 = $_POST['r8'];
$r9 = $_POST['r9'];
$r10 = $_POST['r10'];
$r11 = $_POST['r11'];
$r12 = $_POST['r12'];
$r13 = $_POST['r13'];
$r14 = $_POST['r14'];
$r15 = $_POST['r15'];
$r16 = $_POST['r16'];
$r17 = $_POST['r17'];
$r18 = $_POST['r18'];
$r19 = $_POST['r19'];
$r20 = $_POST['r20'];
$r21 = $_POST['r21'];
// unix timestamp om het tijdstip de van de boodschap op te slaan.
$time= time();
// sql insert die je in de database gaat doen
$sql ="INSERT INTO gastenboek(voornaam, tussenvoegsel, achternaam, school, email, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21');
VALUES ('".$voornaam."', '".$tussenvoegsel."', '".$achternaam."', '".$school."', '".$email."', '".$k1."', '".$k2."', '".$k3."', '".$k4."', '".$k5."', '".$k6."', '".$k7."', '".$k8."', '".$k9."', '".$k10."', '".$k11."', '".$k12."', '".$k13."', '".$k14."', '".$k15."', '".$k16."', '".$k17."', '".$k18."', '".$k19."', '".$k20."', '".$k21."', '".$r1."', '".$r2."', '".$r3."', '".$r4."', '".$r5."', '".$r6."', '".$r7."', '".$r8."', '".$r9."', '".$r10."', '".$r11."', '".$r12."', '".$r13."', '".$r14."', '".$r15."', '".$r16."', '".$r17."', '".$r18."', '".$r19."', '".$r20."', '".$r21."')";
//uitvoeren van de query :
if (!($temp = mysql_query($sql,$connection)))
showerror();
?>
include 'mysql.php';
// formulier POST variabelen ophalen
$voornaam = $_POST['voornaam'];
$achternaam = $_POST['achternaam'];
$tussenvoegsel = $_POST['tussenvoegsel'];
$email = $_POST['email'];
$school = $_POST['school'];
$k1 = $_POST['k1'];
$k2 = $_POST['k2'];
$k3 = $_POST['k3'];
$k4 = $_POST['k4'];
$k5 = $_POST['k5'];
$k6 = $_POST['k6'];
$k7 = $_POST['k7'];
$k8 = $_POST['k8'];
$k9 = $_POST['k9'];
$k10 = $_POST['k10'];
$k11 = $_POST['k11'];
$k12 = $_POST['k12'];
$k13 = $_POST['k13'];
$k14 = $_POST['k14'];
$k15 = $_POST['k15'];
$k16 = $_POST['k16'];
$k17 = $_POST['k17'];
$k18 = $_POST['k18'];
$k19 = $_POST['k19'];
$k20 = $_POST['k20'];
$k21 = $_POST['k21'];
$r1 = $_POST['r1'];
$r2 = $_POST['r2'];
$r3 = $_POST['r3'];
$r4 = $_POST['r4'];
$r5 = $_POST['r5'];
$r6 = $_POST['r6'];
$r7 = $_POST['r7'];
$r8 = $_POST['r8'];
$r9 = $_POST['r9'];
$r10 = $_POST['r10'];
$r11 = $_POST['r11'];
$r12 = $_POST['r12'];
$r13 = $_POST['r13'];
$r14 = $_POST['r14'];
$r15 = $_POST['r15'];
$r16 = $_POST['r16'];
$r17 = $_POST['r17'];
$r18 = $_POST['r18'];
$r19 = $_POST['r19'];
$r20 = $_POST['r20'];
$r21 = $_POST['r21'];
// unix timestamp om het tijdstip de van de boodschap op te slaan.
$time= time();
// sql insert die je in de database gaat doen
$sql ="INSERT INTO gastenboek(voornaam, tussenvoegsel, achternaam, school, email, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21');
VALUES ('".$voornaam."', '".$tussenvoegsel."', '".$achternaam."', '".$school."', '".$email."', '".$k1."', '".$k2."', '".$k3."', '".$k4."', '".$k5."', '".$k6."', '".$k7."', '".$k8."', '".$k9."', '".$k10."', '".$k11."', '".$k12."', '".$k13."', '".$k14."', '".$k15."', '".$k16."', '".$k17."', '".$k18."', '".$k19."', '".$k20."', '".$k21."', '".$r1."', '".$r2."', '".$r3."', '".$r4."', '".$r5."', '".$r6."', '".$r7."', '".$r8."', '".$r9."', '".$r10."', '".$r11."', '".$r12."', '".$r13."', '".$r14."', '".$r15."', '".$r16."', '".$r17."', '".$r18."', '".$r19."', '".$r20."', '".$r21."')";
//uitvoeren van de query :
if (!($temp = mysql_query($sql,$connection)))
showerror();
?>
Dat is de code voor het formulier. (hier te bekijken). Als ik invul en verzend krijg ik de hele tijd een error.
Code (php)
1
Error1064 : 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 ('test', 'test', 'test', 'sintjan', 'mail@dennisdriessen.com', '', '',' at line 1
Ik heb links en rechts wat rondgekeken en het zal waarschijnlijk wel weer een domme fout zijn, maar ik zie hem maar niet.
Google anders op Error 1064.
Het ligt iig wel aan je syntax.
Gewijzigd op 01/01/1970 01:00:00 door winkie
Weet je het zeker winkie? Er hoort namelijk geen ; voor VALUES te staan. Een ; is een "sluitteken" bij een query.
timestamps zijn echt uit de 20e eeuw
geen validatie
geen mysql_real_escape_string();
een ; in je query gaat niet goed.
Die er uit halen == probleem opgelost denk ik
Ik moet nu nog effe zien in te stellen dat sommige workshops maar een aantal keer gekozen kunnen worden, dat er maar een keer per e-mailadres gekozen kan worden en dat er een bevestiging komt.
Edit: Het datamodel is fout, jouw kolomnamen zijn verboden en ze slaan nergens op. Gooi je huidige database weg, dan kun je snel met een schone lei beginnen.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
Is toch logisch?
zelfs dat niet. Maak een aparte tabel daarvoor aan, of, geef hetgeen wat je wilt bereiken in dit topic en er zal vast iemand zijn die jou het juiste datamodel geeft.
- Kolom namen mogen niet uit alleen cijfers bestaan
- Als je nu een reactie extra wil hebben, moet jij je tabel aanpassen
- Ga de hele inhoud eens normaliseren, dan kom je op heel wat anders uit
- Je query's worden er ook nog eens korter en overzichtelijker van
En als je daar ook lampje ziet naar pgSQL ... ^^
Lode schreef op 18.02.2008 12:20:
Kortom, ga direct met PostgreSQL aan de slag. Om nu eerst alle beginnersfouten te gaan maken... Sla die stap maar over! Er is niks mis mee om te leren van andermans fouten, dat scheelt jou een hele hoop tijd en frustratie.En als je dan denkt het licht gezien te hebben kan je met innoDB aan de slag... Als je dat al niet was...
En als je daar ook lampje ziet naar pgSQL ... ^^
En als je daar ook lampje ziet naar pgSQL ... ^^
;)
Maar als je geen basis kennis SQL hebt en/of genoeg tijd is het wellicht een beetje van de hoge duikplank afspringen....
Lode schreef op 18.02.2008 13:14:
MySQL is als een zwembad zonder water: Veel inhoud heeft het niet en het gaat zeer doen op het moment dat je daar achter komt ;)ik spring altijd in het diepe inderdaad...
Maar als je geen basis kennis SQL hebt en/of genoeg tijd is het wellicht een beetje van de hoge duikplank afspringen....
Maar als je geen basis kennis SQL hebt en/of genoeg tijd is het wellicht een beetje van de hoge duikplank afspringen....
Robert_Deiman schreef op 18.02.2008 12:01:
@Dennis
- Kolom namen mogen niet uit alleen cijfers bestaan
- Als je nu een reactie extra wil hebben, moet jij je tabel aanpassen
- Ga de hele inhoud eens normaliseren, dan kom je op heel wat anders uit
- Je query's worden er ook nog eens korter en overzichtelijker van
- Kolom namen mogen niet uit alleen cijfers bestaan
- Als je nu een reactie extra wil hebben, moet jij je tabel aanpassen
- Ga de hele inhoud eens normaliseren, dan kom je op heel wat anders uit
- Je query's worden er ook nog eens korter en overzichtelijker van
Er is toch geen kolom die alleen uit cijfers bestaat?
Het is k1 of r1 (keuze 1 of reserve 1).
Kijk ik exporteer de database uiteindelijk naar CSV voor te importeren in MS Access. Daar heb ik alles mooi in een werkblad.
Ik wil graag geloven in normaliseren, maar ik zie eigenlijk nog niet echt in waarom.
Dat is toch alleen maar meer werk met kopellen enzo?
Ik ga me er in ieder geval even in verdiepen.
Terence schreef op 18.02.2008 12:01:
zelfs dat niet. Maak een aparte tabel daarvoor aan, of, geef hetgeen wat je wilt bereiken in dit topic en er zal vast iemand zijn die jou het juiste datamodel geeft.
Er moeten zich zo'n 300 leraren inschrijven voor workshops,
Dit heb ik graag overzichtelijk uiteindelijk in MS Access. Wat aardig lukt op het moment vind ik zelf, als ik CSV importeer in Access.
Het is gewoon van belang dat ik weet wie zich heeft ingeschreven voor welke workshop.
id
naam
docenten:
id
naam
workshop_docent
id_workshop (foreign key op de tabel workshops)
id_docent (foreign key op de tabel docenten)
In MySQL ben je verplicht om de innoDB-engine te gebruiken, met MyISAM kun je namelijk geen relationele database aanmaken.
Dennis Driessen schreef op 18.02.2008 13:52:
Er moeten zich zo'n 300 leraren inschrijven voor workshops,
Dit heb ik graag overzichtelijk uiteindelijk in MS Access. Wat aardig lukt op het moment vind ik zelf, als ik CSV importeer in Access.
Het is gewoon van belang dat ik weet wie zich heeft ingeschreven voor welke workshop.
Dit heb ik graag overzichtelijk uiteindelijk in MS Access. Wat aardig lukt op het moment vind ik zelf, als ik CSV importeer in Access.
Het is gewoon van belang dat ik weet wie zich heeft ingeschreven voor welke workshop.
waarom wil je het overzichtelijk hebben in acces en gebruik je hier php niet voor? bovendien, je database kijk je alleen bij het begin naar, de rest doe je vanaf dat moment met je eigen geschreven pagina's om de tabel uit te lezen. Overzichtelijk in de database zetten werkt niet. Overzichtelijk gegevens weergeven in een pagina wel.