PHP und Mysql: Datensätze mit INSERT INTO einfügen

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

  • PHP und Mysql: Datensätze mit INSERT INTO einfügen

    Hallo alle zusammen,

    nach dem lesen einiger, und ich meine wirklich einiger Webinhalte bezogen auf PHP und MySQL, möchte ich euch wegen bisheriger Erfolglosigkeit mein Problem schildern.

    Mit dem Ziel eine in PHP und MySQL geschriebene Benutzerverwaltung zu entwickeln, bin ich auf das folgende Problem gestossen: Um "registrierte" Benutzer zu einer Datenbank hinzufügen zu können, habe ich ein HTML-Formulat entworfen. Eingegebene Daten werden an ein PHP-Skript per POST-Methode weitergegeben.

    Folgende PHP-Kontrollstruktur soll die erhaltenen Daten in die Datenbank eintragen:

    PHP-Code:
    switch ($action) {
        case 
    'useradd':
        
    // Formularvariablen
        
    $name $_POST['name'];
        
    $pwd $_POST['pwd'];
            
    $pwd md5($pwd);
        
    $mail $_POST['mail'];
        
    $usergroup $_POST['usergroup'];
        
    $active $_POST['active'];
        
    // MySQL-Verbindung und Query
        
    db("connect");
        
    $sql "INSERT INTO users (name,password,email,group,active) VALUES ('$name','$pwd','$mail','$usergroup','$active')";
                
    $result mysql_query($sql) OR die(mysql_error());
                
    // MySQL trennen
                
    mysql_close();
        break;
        } 
    Alle vom HTML-Formular kommenden Werte werden übernommen (getestet!).
    Ausser "$usergroup" und "$active" sind alle Variablen Strings. Ausser den beiden Integern lassen sich alle Werte mit gegebenem Skript eintragen. Sollen die beiden Integer mit eingetragen werden erhalte ich folgende Fehlerausgabe durch den MySQL-Server:

    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 'group) VALUES ('username','e22a63fb76874c99488435f26b117e37','1','3')' at line 1

    Ich vermute es liegt eine Art Datentypfehler vor, da sich ja die Strings problemlso eintragen lassen, die Integer allerdings nicht.

    Ich habe bereits alles mögliche probiert; vom ändern der Hochkommata, über das weglassen dieser, bishin zu anderen Variablennamen. Jetzt stehe ich allerdings irgendwie auf dem Schlauch und komme einfach nicht weiter.

    Wie kann ich also von einem HTML-Formular gesendete Variablen mit PHP in eine MySQL-Datenbank (unter Angabe von Spaltennamen!) als "Datensatz" einfügen?

    Ich bin für jeden konstruktiven Beitrag dankbar. "Onkel Google"-Antworten sind nicht erwünscht, da ich diesen bereits gefragt habe. Auch die SuFu dieses Boards (und auch anderer) sind meinen Suchbegriffen zum Opfer gefallen.

    Freundliche Grüße

    roka

    Merke: Sollte dieser Thread aufgrund des Inhaltes besser in die Kategorie MySQL passen, bitte ich berechtigte Personen diesen zu verschieben.
    Zuletzt geändert von roka; 06.04.2007, 18:04.

  • #2
    Vorsicht bei der Benutzung von Spaltennamen wie group. Das ist ein MySQL-Funktion und könnte imho wahrscheinlich der Fehler sein. Also Spaltenname ändern und nochmal testen.
    Zuletzt geändert von gruenspan; 06.04.2007, 19:58.

    Kommentar


    • #3
      Hallo gruenspan,

      danke dir. Dein Hinweis war der Richtige. Mit "gid" als Spaltenname funktioniert es!

      GELÖST.

      Freundliche Grüße

      roka

      Kommentar

      Lädt...
      X