INSERT INTO will nicht
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
beseitigen
betreff
code
datenbank
eintrag
eintragen
entfernen
fehler
frage
horst
http
komma
kommentar
nachricht
server
sex
syntax
url
verbindung
versuch
-
Ich habe den folgenden Code geschrieben:
$eintrag = "INSERT INTO `gaestebuch` (`autor` , `betreff` , `e-mail` , `aktivierungscode` , `nachricht` , `kommentar` , `timestamp` , `best`) VALUES ('$name', '$betreff', '$mail', '$aktivierungscode', '$nachricht', '$timestamp', '$bestaetigt',)"; $eintragen = mysql_query($eintrag);
Zwar kommen die Daten per POST an, aber werden nicht in die Datenbank eingtragen. Ist hier dran was falsch? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
qap2 schrieb:
Hi,
Versuch's mal ohne das Komma nach '$bestaetigt'.
funktioniert irgendwie trotzdem nicht.
Kann aber auch nicht an den Verbindungsdaten liegen. Die per PHPMYADMIN erstellten EInträge werden angezeigt.
Sonst jemand eine Idee?
Beitrag zuletzt geändert: 12.9.2009 20:44:43 von maechte-der-elemente -
Dann probiers am besten einfach mal so:
$eintrag = "INSERT INTO gaestebuch (autor,betreff,e-mail,aktivierungscode,nachricht,kommentar,timestamp,best) VALUES ('".$name."','".$betreff."','".$mail."','".$aktivierungscode."','".$nachricht."','".$timestamp."','".$bestaetigt."')"; $eintragen = mysql_query($eintrag);
-
Habe gestern zum selben Fehler folgendes geschrieben:
http://www.lima-city.de/thread/insert-verweigerung/page%3A0/perpage%3A15#806394
Natürlich geht auch das:
insert into users (name, age, sex) values ('horst', 34, 'm');
aber nicht das -->
insert into users ('name', 'age', 'sex') values ('horst', 34, 'm');
frengil schrieb:
[...]
INSERT INTO tabelle ("Attr1","Attr2") VALUES ("wert1","wert2");
[...]
Weil dann spuckt er diese Fehlermeldung aus:
#1064 - 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 ''name', 'age', 'sex') values ('horst', 34, 'm')' at line 1
Gruß
illuxio
Solle dein Problem beseitigen
Aber dennoch das Komma entfernen :D
Falls das nicht hilft, habe ich da mal ne Frage. Hast du überhaupt eine Verbindung zu Datenbank hergestellt?
Gruß
illuxio -
illuxio schrieb:
Habe gestern zum selben Fehler folgendes geschrieben:
http://www.lima-city.de/thread/insert-verweigerung/page%3A0/perpage%3A15#806394
Natürlich geht auch das:
insert into users (name, age, sex) values ('horst', 34, 'm');
aber nicht das -->
insert into users ('name', 'age', 'sex') values ('horst', 34, 'm');
frengil schrieb:
[...]
INSERT INTO tabelle ("Attr1","Attr2") VALUES ("wert1","wert2");
[...]
Weil dann spuckt er diese Fehlermeldung aus:
#1064 - 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 ''name', 'age', 'sex') values ('horst', 34, 'm')' at line 1
Gruß
illuxio
Solle dein Problem beseitigen
Aber dennoch das Komma entfernen :D
Falls das nicht hilft, habe ich da mal ne Frage. Hast du überhaupt eine Verbindung zu Datenbank hergestellt?
Gruß
illuxio
Inzwischen heißt es:
$eintrag = "INSERT INTO gaestebuch (autor, betreff, e-mail, aktivierungscode, nachricht, kommentar, timestamp, best) VALUES ('$name', '$betreff', '$mail', '$aktivierungscode', '$nachricht', '$timestamp', '$bestaetigt')"; $eintragen = mysql_query($eintrag);
Aber es funzt immer noch nicht. Da die schon eingetragenen Dinge aber erscheinen, gibt es eine funktionierende Verbindung mit der datenbank.
EDIT:
Natürlich kann es nicht gehen:
Es sind 8 Spalten angegeben, aber nur 7 Werte !!!
Mein Fehler
EDIT_
Funktioniert immer noch nicht!!!
Beitrag zuletzt geändert: 12.9.2009 21:21:27 von maechte-der-elemente -
1) Wenn dein Feld wirklich timestamp heißt, kann es da schon zu komplikationen kommen. Nenn es lieber mal "current_time" oder so.
2) Ich weiß nicht so recht ob SQL e-mail versteht... der Bindestrich ist glaub ich nicht erlaubt.
Ein Versuch ist es Wert!
Beitrag zuletzt geändert: 13.9.2009 3:22:27 von qap2 -
qap2 schrieb:
1) Wenn dein Feld wirklich timestamp heißt, kann es da schon zu komplikationen kommen. Nenn es lieber mal "current_time" oder so.
2) Ich weiß nicht so recht ob SQL e-mail versteht... der Bindestrich ist glaub ich nicht erlaubt.
Ein Versuch ist es Wert!
Danke, das war anscheinend der fehler.
Funktioniert jetzt wieder.
Danke an alle.
Mde -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage