tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
378
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von buzzom
    buzzom buzzom ist offline Mitglied Silber
    Registriert seit
    Aug 2003
    Beiträge
    88
    Guten Tag,

    ich habe ein Formular in welchem unter anderem ein Alterseintrag erfolgen soll:
    PHP-Code:
    ...
    $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-Code:
    ...
    $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?
     

  2. #2
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    alter ist normalerweise ein SQL Befehl um die Tabelle zu verändern.
    Will man es als Spaltennamen verwenden, muss man es maskieren.

    PHP-Code:
    $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.

    mysql_error() ist in solchen Fällen auch eine wertvolle Hilfe.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  3. #3
    Avatar von flou
    flou flou ist offline Mitglied Silber
    Registriert seit
    Oct 2004
    Ort
    München
    Beiträge
    94
    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...
     

  4. #4
    Avatar von buzzom
    buzzom buzzom ist offline Mitglied Silber
    Registriert seit
    Aug 2003
    Beiträge
    88
    Danke Funktioniert. Und danke für SQL Injection Hinweis.
     

Ähnliche Themen

  1. MYSQL, Problem mit INSERT
    Von null_plan im Forum Relationale Datenbanksysteme
    Antworten: 12
    Letzter Beitrag: 02.07.10, 15:33
  2. mysql insert problem
    Von luchs3 im Forum PHP
    Antworten: 5
    Letzter Beitrag: 29.05.06, 16:11
  3. [VBNET]Problem mit MySQL INSERT
    Von port11 im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 10.02.05, 10:03
  4. MySQL - Insert-Problem
    Von NetPerformance im Forum PHP
    Antworten: 7
    Letzter Beitrag: 20.04.04, 18:08
  5. MySQL - Insert Problem !
    Von NetPerformance im Forum PHP
    Antworten: 2
    Letzter Beitrag: 19.04.04, 16:07