Syntax Error
Markus
- datenbank
Hallo,
ich bekomme bei einer meiner Datenbankabfragen einen mir unerklärlichen Fehler. Es handelt sich um ein einfaches Insert, welches Kontaktformulare speichern soll. Hier der Originalbefehl aus dem Quellcode:
INSERT INTO contact (read,ip,email,name,date,time,message) VALUES ('0', '$ip_address', '$emailadresse', '$name', '$date', '$time','$nachricht')
mysql_error() gibt folgendes aus:
You have an error in your SQL syntax
near 'read,ip,email,name,date,time,message) VALUES
('0', 127.0.0.1', 'test@example.' at line 1
Nun.. die Syntax INSERT INTO x (foo,bar) VALUES ('y','z') wird eingehalten. Was stört MySQL dann?
Gruß
Markus
Hallo auch
INSERT INTO contact (read,ip,email,name,date,time,message) VALUES ('0', '$ip_address', '$emailadresse', '$name', '$date', '$time','$nachricht')
Sieht eigentlich ok aus, muss an den Werten liegen, hast mal die Tabellendefinition und alle werte die Du einfügen willst
Uli
Hallo Markus,
INSERT INTO contact (read,ip,email,name,date,time,message) VALUES ('0', '$ip_address', '$emailadresse', '$name', '$date', '$time','$nachricht')
was bekommst du wenn du dir den Query ausgeben lässt?
('0', 127.0.0.1', 'test@example.' at line 1
wenn du das wirklich genau so ausgegeben bekommst, fehlt vor '127.0.0.1' ein Anführungszeichen.
Grüße aus Nürnberg
Tobias
Hallo Markus,
INSERT INTO contact (read,ip,email,name,date,time,message) VALUES ('0', '$ip_address', '$emailadresse', '$name', '$date', '$time','$nachricht')
mysql_error() gibt folgendes aus:
You have an error in your SQL syntax
near 'read,ip,email,name,date,time,message) VALUES
('0', 127.0.0.1', 'test@example.' at line 1Nun.. die Syntax INSERT INTO x (foo,bar) VALUES ('y','z') wird eingehalten. Was stört MySQL dann?
... nun, Du verwendest reservierte Worte für Deine Spalten, siehe http://dev.mysql.com/doc/mysql/de/Reserved_words.html
read, date, time
Diese Spalten musst Du mit Backticks ´ maskiert eingeben,
noch besser umbenennen.
Freundliche Grüsse,
Vinzenz
Hallo nochmal,
hab wieder quatsch erzählt. "date" ist ein reserviertes Wort.
MySql erlabt zwas den Spaltennamen, aber beim INSERT gibts dann probleme.
Uli