Ankündigung

Einklappen
Keine Ankündigung bisher.

insert into funktioniert nicht

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • insert into funktioniert nicht

    Hi@all,

    versuche gerade Daten in die Datenbank zu schreiben

    Konfig der Datenbank

    PHP-Code:
        ALTER  TABLE  `users`  CHANGE  `USER_ID`  `USER_IDINT4  )  NOT  NULL  AUTO_INCREMENT ,
     
    CHANGE  `USER_NICK_NAME`  `USER_NICK_NAMEVARCHAR20  )  CHARACTER  SET latin1 COLLATE latin1_swedish_ci NULL ,
     
    CHANGE  `USER_GENDER`  `USER_GENDERVARCHAR10  )  CHARACTER  SET latin1 COLLATE latin1_swedish_ci NULL ,
     
    CHANGE  `USER_FIRST_NAME`  `USER_FIRST_NAMEVARCHAR20  )  CHARACTER  SET latin1 COLLATE latin1_swedish_ci NULL ,
     
    CHANGE  `USER_NAME`  `USER_NAMEVARCHAR20  )  CHARACTER  SET latin1 COLLATE latin1_swedish_ci NULL ,
     
    CHANGE  `USER_EMAIL`  `USER_EMAILVARCHAR30  )  CHARACTER  SET latin1 COLLATE latin1_swedish_ci NULL ,
     
    CHANGE  `USER_PASSWD`  `USER_PASSWDVARCHAR10  )  CHARACTER  SET latin1 COLLATE latin1_swedish_ci NULL ,
     
    CHANGE  `USER_REG_IP`  `USER_REG_IPVARCHAR15  )  CHARACTER  SET latin1 COLLATE latin1_swedish_ci NULL ,
     
    CHANGE  `USER_REG_DATE`  `USER_REG_DATEVARCHAR10  )  CHARACTER  SET latin1 COLLATE latin1_swedish_ci NULL ,
     
    CHANGE  `USER_FLAG`  `USER_FLAGVARCHAR2  )  NULL 
    und das PHP Script

    PHP-Code:

    <?php
    // Datenbankverbinundung per include


    // $_Post auslesen
    $USER_NICK_NAME $_POST['USER_NICK_NAME'];
    $USER_GENDER $_POST['USER_GENDER'];
    $USER_FIRST_NAME $_POST['USER_FIRST_NAME'];
    $USER_NAME $_POST['USER_NAME'];
    $USER_EMAIL $_POST['USER_EMAIL'];
    $USER_PASSWD $_POST['USER_PASSWD'];
    $USER_PASSWD_REPEAT $_POST['USER_PASSWD_REPEAT'];
    $USER_REG_IP $_POST['USER_REG_IP'];
    $USER_REG_DATE $_POST['USER_REG_DATE'];
    $USER_FLAG $_POST['USER_FLAG'];
    $CODE $_POST['CODE'];
    //Code Wort vergleichen

    $CODEWORT wasauchimmer;

    if (
    $CODE == $CODEWORT
    {
     
     
    // Passwoerter vergleichen 
     
    if ($USER_PASSWD == $USER_PASSWD_REPEAT) {
      
      
    //Werte in die Datenbank schreiben
       
       
    $sql_befehl "
             INSERT INTO users (
                    USER_ID,
                    USER_NICK_NAME,
                    USER_GENDER,
                    USER_FIRST_NAME,
                    USER_NAME,
                    USER_EMAIL,
                    USER_PASSWD,
                    USER_REG_IP,
                    USER_REG_DATE,
                    USER_FLAG,
             ) VALUES (
                    '',
                    '
    $USER_NICK_NAME',
                    '
    $USER_GENDER',
                    '
    $USER_FIRST_NAME',
                    '
    $USER_NAME',
                    '
    $USER_EMAIL',
                    '
    $USER_PASSWD',
                    '
    $USER_REG_IP',
                    '
    $USER_REG_DATE',
                    '
    $USER_FLAG',
                 )"
    ;
                 
                 if (!
    $db->query($sql_befehl)) {echo "ferdisch";}else{echo "muell";}
      
     }
     else
     {
     echo 
    "<h1>Passw&ouml;rter stimmen nicht &uuml;berein</h1>
          <p class=\"ContentBox\">Bitte korrigieren Sie das Passwort</p><br /><br /><br /><br />"
    ;
     }

    }
    else
    {

     echo 
    "<h1>Zugangscode Falsch</h1>
          <p class=\"ContentBox\">Bitte beachten Sie die Groß- und Kleinschreibung. Wenn Sie das Codewort nicht kennen wenden Sie sich bitte an Ihren Teamleiter oder an die Mitarbeiter der BO-Unit</p><br /><br /><br /><br />"


    }
    ?>
    Die Tabelle users bleibt trotzdem leer.

    Seht Ihr einen Fehler!

    MfG
    Mafra
    Vielen Dank euch schon mal!



  • #2
    Hast du mal getestet, ob dein Programm überhaupt in den if-Zweig springt?

    Denn:
    $CODEWORT = wasauchimmer;
    stellt ja einen String dar, den du vergleichst.

    Initialisiere den String mal mit Anführungszeichen.

    Kommentar


    • #3
      habe ich erst mal gemacht.

      ich bekomme ja als Ausgabe "ferdisch". stimmt das Codewort nicht oder die Passwörter nicht überein bricht das Script mit der gewünschten Fehlermeldung ab.

      Also es scheitert offensichtlich daran, das er die Daten schreiben soll.

      Danke noch mal für deine Hilfe.

      MfG

      Kommentar


      • #4
        Was für eine Klasse benutzt du denn überhaupt hier: $db->query()?

        Was sagt ein mysql_error() bzw. ein $db->error() oder wie auch immer die äquivalente Funktion in deiner Klasse heißt...
        Create your own quiz show.

        Kommentar


        • #5
          Zitat von agrajag Beitrag anzeigen
          Was für eine Klasse benutzt du denn überhaupt hier: $db->query()?
          PHP-Code:
          <?php

          // Datenbankverbinundung

          $db = new mysqli($server$user$passwd$dbase);

          // Verbindung ueberpruefen

          if (mysqli_connect_errno()) {
              
          printf("Verbindung fehlgeschlagen: %s\n",
              
          mysqli_connect_error());
              exit();

          ?>
          error Ausgabe muss ich ers testen poste ich gleich.

          Kommentar


          • #6
            Hier muss auf jeden Fall das "," weg. Ausserdem hilft es immer sich den Sql Query mal ausgeben zu lassen und zu gucken ob er richtig zusammengesetzt wird.
            USER_FLAG,
            '$USER_FLAG',

            Kommentar


            • #7
              Zitat von drieling Beitrag anzeigen
              Hier muss auf jeden Fall das "," weg. Ausserdem hilft es immer sich den Sql Query mal ausgeben zu lassen und zu gucken ob er richtig zusammengesetzt wird.
              USER_FLAG,
              '$USER_FLAG',
              An welcher Stelle muss das "," weg. Entweder ist es noch zufrüh oder ich sehe es einfach nicht. Danke die nochmal

              Kommentar


              • #8
                Beide Kommas müssen weg. Das Komma zteigt an das ein weiteres Attribut kommen soll, aber es kommt keins.

                Also gehts nicht

                Kommentar


                • #9
                  Zitat von drieling Beitrag anzeigen
                  Beide Kommas müssen weg. Das Komma zteigt an das ein weiteres Attribut kommen soll, aber es kommt keins.

                  Also gehts nicht
                  Ok danke, also jetzt wird "Muell" ausgegeben. D.h. das speichern hat nicht geklappt. jetzt muss ich nur noch wissen warum nicht.

                  Kommentar


                  • #10
                    Also es geht doch, die Werte stehen in der Datenbank. Danke euch! klapt einwandfrei

                    Kommentar


                    • #11
                      No Problem, gerne wieder.

                      Closed

                      Kommentar

                      Lädt...
                      X