Problem beim Eintragen in die Datenbank

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem beim Eintragen in die Datenbank

    Hallo Leuts,
    ich programmiere noch nicht sehr lange mit php und mysql. Ich habe zusammen mit einem Freund einen einfachen Webshop programmiert, wo hauptsächlich er die Mysql Sache übernahm. Nun wollte ich ein Registrierungsformular machen allerdings bekomme ich immer einen Fehler:

    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 'user( user_name, user_pass, user_mai


    Woran liegt dieser Fehler? Die Syntax hab ich mehrmals mit unserern anderen Daten abgeglichen und kann keinen Fehler finden.

    PHP-Code:
    <? if ($action == "abschicken")

        $char_name=$HTTP_POST_VARS["char_name"]; 
        $char_klasse=$HTTP_POST_VARS["char_klasse"];
        
        $user_name=$HTTP_POST_VARS["char_name"];
        $user_mail=$HTTP_POST_VARS["user_mail"];
        $user_pass=$HTTP_POST_VARS["user_pass"];
            
        $char_gold=100;
        $char_lvl=1;
        
        if ($char_klasse='bandit')
        {
                $char_hp=150;
                $char_mp=100;
                $char_staerke=8;
                $char_ausdauer=8;
                $char_verteidigung=8;
                $char_geschicklichkeit=3;
                $char_treffsicherheit=3;
                $char_intelligenz=3;
        }
        elseif ($char_klasse='undeath')
        {
                $char_hp=100;
                $char_mp=150;
                $char_staerke=3;
                $char_ausdauer=3;
                $char_verteidigung=3;
                $char_geschicklichkeit=8;
                $char_treffsicherheit=8;
                $char_intelligenz=8;
        }
        elseif ($char_klasse='shadow')
        {
                $char_hp=100;
                $char_mp=100;
                $char_staerke=8;
                $char_ausdauer=3;
                $char_verteidigung=6;
                $char_geschicklichkeit=8;
                $char_treffsicherheit=8;
                $char_intelligenz=3;
        }
        elseif ($char_klasse='sniper')
        {
                $char_hp=100;
                $char_mp=100;
                $char_staerke=5;
                $char_ausdauer=6;
                $char_verteidigung=3;
                $char_geschicklichkeit=8;
                $char_treffsicherheit=8;
                $char_intelligenz=6;
        }

        mysql_query("INSERT into chara (     char_name,
                                            char_klasse,
                                            char_gold,
                                            char_lvl,
                                            char_hp,
                                            char_mp,
                                            char_staerke,
                                            char_ausdauer,
                                            char_verteidigung,
                                            char_geschicklichkeit,
                                            char_treffsicherheit,
                                            char_intelligenz)
                                            
                    VALUES(                 '$char_name',
                                            '$char_klasse',
                                            '$char_gold',
                                            '$char_lvl',
                                            '$char_hp',
                                            '$char_mp',
                                            '$char_staerke',
                                            '$char_ausdauer',
                                            '$char_verteidigung',
                                            '$char_geschicklichkeit',
                                            '$char_treffsicherheit',
                                            '$char_intelligenz');")
     or die("Keine Verbindung möglich: " . mysql_error());
        
            
        mysql_query("INSERT into user(             user_name,
                                                user_pass,
                                                user_mail)
        
                                        VALUES(    '$char_name',
                                                '$user_pass',
                                                '$user_mail');")
     or die("Keine Verbindung möglich: " . mysql_error());                                
    {
    echo "Charaktererstellung erfolgreich!";
    }
    }
    Das soll ein kleines Browserspiel werden... Kann mir da jemand weiter helfen?

    Die ersten Daten werden in die erste Tabelle der Datenbank eingetragen doch in die user Datenbank erfolgt keine Eintragung mehr.
    Zuletzt geändert von Clavicle; 18.02.2006, 13:49.

  • #2
    hallo Clavicle,

    denke das Problem liegt an deinen Spaltennamen (user_name) - das sind
    bestimmt reservierte Wörter von mysql.
    Computernotdienst Eisleben
    Softwarelösung für Rechtsanwälte und Notare

    Kommentar


    • #3
      Das dachte ich zuerst auch, aber bei dem online shop den ich programmierte benutze ich auch eine user tabelle und die angaben user_name ect

      Kommentar


      • #4
        benutze ich auch eine user tabelle und die angaben user_name ect
        sei erstmal dahingestellt.

        Hast du schon probiert die Spalten/Tabelle mal umzubenennen (wenn das
        zu Testzwecken ohne weiteres geht)und die Daten einzutragen?

        hab hier noch was zu reservierten Wörtern gefunden. Vielleicht leitet er deinen
        Tabellennamen user von USE ab
        Zuletzt geändert von piep83; 18.02.2006, 14:20.
        Computernotdienst Eisleben
        Softwarelösung für Rechtsanwälte und Notare

        Kommentar


        • #5
          Hey du hattest Recht! Es funktioniert jetzt Danke dir. Aber ich kann trotzdem nicht verstehen wieder bei meiner anderen Datenbank die Tabelle user funktioniert, jetzt benutze ich halt eine users.

          Ich habe noch eine Frage und zwar wie kann ich in die users Tabelle die chara ID eintragen und umgekehrt?

          Das der user 5 den chara 5 hat und das dem chara 5 der user 5 zugeschrieben ist. Muss man da die Tabellen irgendwie verknüpfen oder so?

          Danke für die Hilfe schonmal

          Kommentar


          • #6
            so richtig hab ich dich jetzt nicht verstanden - hast du
            vielleicht ein Praxisbeispiel?

            Ansonsten vergib doch für jeden User den du in deine Tabellen
            (chara,users ) einträgst eine eigens erstellte Zufallszahl .
            Diese deklarierst du als PK und kannst dann in beiden Tabellen
            eindeutig deinen User mit den Eigenschaften aus chara identifizieren.
            Die Abfragen in einem QUERY kannst du dann mit JOINS lösen.
            Zuletzt geändert von piep83; 18.02.2006, 15:02.
            Computernotdienst Eisleben
            Softwarelösung für Rechtsanwälte und Notare

            Kommentar


            • #7
              PHP-Code:
              CREATE TABLE `charaktere` (
              `
              charakter_idINT11 NOT NULL AUTO_INCREMENT ,
              `
              charakter_nameVARCHAR10 NOT NULL ,
              `
              charakter_klasseVARCHAR10 NOT NULL ,
              `
              charakter_goldINT11 NOT NULL ,
              `
              charakter_lvlINT11 NOT NULL ,
              `
              charakter_hpINT11 NOT NULL ,
              `
              charakter_mpINT11 NOT NULL ,
              `
              charakter_staerkeINT11 NOT NULL ,
              `
              charakter_ausdauerINT11 NOT NULL ,
              `
              charakter_verteidigungINT11 NOT NULL ,
              `
              charakter_geschicklichkeitINT11 NOT NULL ,
              `
              charakter_treffsicherheitINT11 NOT NULL ,
              `
              charakter_intelligenzINT11 NOT NULL ,
              `
              benutzer_idINT11 NOT NULL ,
              PRIMARY KEY ( `charakter_id` ) 
              TYPE MYISAM 
              PHP-Code:
              CREATE TABLE `benutzer` (
              `
              benutzer_idINT11 NOT NULL AUTO_INCREMENT ,
              `
              benutzer_nameVARCHAR10 NOT NULL ,
              `
              benutzer_passVARCHAR10 NOT NULL ,
              `
              benutzer_mailVARCHAR10 NOT NULL ,
              `
              charakter_idINT11 NOT NULL ,
              PRIMARY KEY ( `benutzer_id` ) 
              TYPE MYISAM 
              So ich hab mir jetzt neue Tabellen angelegt (wegen den Namen) Hier kannst du mal sehen welche Atribute die haben. Wie kann ich jetzt einem benutzer 100% einen charakter zuordnen?
              Hast du ICQ dann könnten wir da schreiben falls du Lust hast mir noch bisschen zu helfen ^^ Meine ICQ Nummer 232-312-315

              Kommentar

              Lädt...
              X