Problem mit INSERT INTO

Henselmania

Mitglied
Hallo,
bin grade dabei ein Login Script zu bauen und eine Registrierung und hier liegt auch das Problem ich bekomme immer eine Fehlermeldung und hab keine Ahnung warum. Hab schon gegooglet das konnte mir aber nicht so recht weiterhelfen.

Das hier ist der INSERT CODE
PHP:
$sql = "INSERT INTO benutzerdaten (Id, Nickname, Kennwort, Titel, Nachname, Vorname, Alter, Ort, Mail, Online, Aktiv, Code, Datum)
VALUES ('', '".$Nickname."', '".md5($Kennwort)."', '".$Titel."', '', '', '".$Alter."', '".$Ort."', '".$Mail."', '".$time."', 'N', '".$c."', '".$time."')";

Und das hier die Fehlermeldung:
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 'Alter, Ort, Mail, Online, Aktiv, Code, Datum) VALUES ('', 'Test

Für Hilfe wäre ich dankbar
 
Versuchs mal so:
PHP:
$sql = "INSERT INTO benutzerdaten (`Id`, `Nickname`, `Kennwort`, `Titel`, `Nachname`, `Vorname`, `Alter`, `Ort`, `Mail`, `Online`, `Aktiv`, `Code`, `Datum`)
VALUES ('', '".$Nickname."', '".md5($Kennwort)."', '".$Titel."', '', '', '".$Alter."', '".$Ort."', '".$Mail."', '".$time."', 'N', '".$c."', '".$time."')";
 
Noch was zur Erläuterung: Ich denke der Fehler liegt am "Alter", das ist bei SQL ein reserviertes Schlüsselwort. Durch `...` (mir fällt der Name nicht ein) wird dem Server aber gesagt, dass es sich nicht um Befehle sondern um Spaltennamen, Tabellennamen, ... handelt.
Deshalb kam IMHO der Fehler.
 
Hallo Henselmania!
Sofern du der ID einen Primärschlüssel und das Attribut auto_increment gegeben hast brauchst du die ID gar nicht noch einmal in deiner INSERT-Anweisung zu schreiben, die ID wird automatisch um eins erhöht. Lass es am besten weg:

PHP:
$sql = "INSERT INTO benutzerdaten (`Nickname`, `Kennwort`, `Titel`, `Nachname`, `Vorname`, `Alter`, `Ort`, `Mail`, `Online`, `Aktiv`, `Code`, `Datum`)
VALUES ('".$Nickname."', '".md5($Kennwort)."', '".$Titel."', '', '', '".$Alter."', '".$Ort."', '".$Mail."', '".$time."', 'N', '".$c."', '".$time."')";
 
Hallo,

ich hab genau das gleich Problem, die zuvor genannten Lösungsvorschläge haben bei mir aber nichts bewirkt
PHP:
$sql = "INSERT INTO user (`user`, `pwd`, `profil_id`)VALUES '".$this->user."','".$this->pwd."','".$this->profil_id."')";

bin dankbar für jede Hilfe, versteh denn Fehler echt nicht Local rennt das Ding nur Online eben nicht

danke schonmal im voraus
 
Zurück