mysql INSERT INTO Problem

buzzom

Mitglied
Guten Tag,

ich habe ein Formular in welchem unter anderem ein Alterseintrag erfolgen soll:
PHP:
...
$aus.="<p>Alter*: ";
$aus.="<input type=\"text\" name=\"alter\" value=\"".$_POST['alter']."\">";
  
$aus.="<br><br><input type=\"submit\" value=\"Anmelden\">";
$aus.="</form>";
return $aus;
...

Das Ganze wird dann an die entsprechende Funktion weiter gegeben und soll in die Datenbank eingetragen werden:

PHP:
...
$alter=$_POST['alter'];
	
$sql="INSERT INTO user (username, kwort, email, vorname, nachname, geschlecht, alter) VALUES ('".$username."','".$kwort2."','".$email."','".$vorname."','".$nachname."','".$geschlecht."','".$alter."')";

$link = mysql_connect($db_host, $db_benutzer, $db_passwd);
   mysql_select_db($db_name, $link);
   mysql_query($sql, $link);
...

Allerdings trägt er das Alter nicht in die Datenbank ein und den Rest auch nicht.
Interessanterweise trägt er alle Daten ein, wenn ich das Alter komplett rausnehme.
Daher denke ich mir, dass es wohl was mit der Spalte in der MySQL Tabelle zu tun haben könnte. Aber ich finde hierbei den Fehler nicht.

Die Spalte ist folgendermaßen gekennzeichnet:

Feld: alter
Typ: char(3)
Kollation: utf8_bin
Attribute:
Null: Ja
Standart: NULL
Extra:

Hat jemand weisen Rat?
 
alter ist normalerweise ein SQL Befehl um die Tabelle zu verändern.
Will man es als Spaltennamen verwenden, muss man es maskieren.

PHP:
$sql="INSERT INTO user (username, kwort, email, vorname, nachname, geschlecht, `alter`) VALUES ('".$username."','".$kwort2."','".$email."','".$vorname."','".$nachname."','".$geschlecht."','".$alter."')";

Weiterhin solltest du dich über SQL Injektionen kundig machen und wie man diese verhindert.

[phpf]mysql_error[/phpf] ist in solchen Fällen auch eine wertvolle Hilfe.
 
alter ist ja immer eine zahl. also würde ich das feld auch demensprechend in der db definieren...ist zwar, denk ich, keine lösung deines problems... aber trotzdem...
 
Zurück