Problem mit Datenbank eintrag

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

  • Problem mit Datenbank eintrag

    Hallo,
    und zwar ich habe folgendes Problem. Ich ein Gästebuch machen habe eines der Tuturials der Seite hier verwendet, die waren soweit auch ganz gut, nur wenn es darum geht die Daten in die Datenbank zu schreiben streikt das script.
    Ich hab schon so ziemlich alles überprüft passwort, username, datenbank, name, rechte und nach jeder zeile mir die variablen ausgeben lassen es stimmt alles alos sollte es ja teoretisch gehn, is aber nicht. Vielleicht weiß einer hier weiter.
    Hier der Code:
    PHP-Code:
    $connect =    mysql_connect($dbserver,$dbuser,$dbpass); 
    $selectDB =    mysql_select_db($dbname) or die("Select nicht ausgeführt");
        
    $query =  "INSERT INTO gbook VALUES('', '$datum', '$zeit', '$name', '$email', 
    '
    $www', '$eintrag', '$ip')";
        
    mysql_query($query,$connect);
        
    $result =  mysql_query($query,$connect);
        if (!
    $result
            { 
                die (
    'Fehler');

            } 
         
    mysql_close($connect); 

    MFG
    Simon

  • #2
    '$datum', '$zeit', '$name', '$email', '$www', '$eintrag', '$ip'

    'hier werden variablen nicht erkannt'

    nimm "','".$variable."','"

    Kommentar


    • #3
      Re: Problem mit Datenbank eintrag

      PHP-Code:
      $connect =    mysql_connect($dbserver,$dbuser,$dbpass); 
      $selectDB =    mysql_select_db($dbname) or die("Select nicht ausgeführt");
          
      $query =  "INSERT INTO gbook  VALUES('', '$datum', '$zeit', '$name', '$email', 
      '
      $www', '$eintrag', '$ip')";
          
      $result =  mysql_query($query,$connect);
          if (!
      $result
              { 
                  die (
      mysql_error());

              } 
           
      mysql_close($connect); 

      MFG
      Simon [/B][/QUOTE]

      Im Query musss man "INSERT INTO gbook (id, datum, zeit, name, ...) VALUES ('', $datum, $zeit, $name,...);" verfahren (natürlich müssen die Namen in den ersten Klammern den richtigen Feldnamen haben), wenns trotzdem so gehen sollte, rate ich aber nicht an, es so zu tun.

      Kommentar


      • #4
        Schreib mal vor dein mysql_query($query,$connect); ein
        PHP-Code:
        echo $query
        und poste das Ergebnis.

        @foreach( : Bei mir funktioniert das auch so, ist aber nicht so schön...

        @Marscel: Das funktioniert auch, man muss nur auf die Reihenfolge achten. Wenn man einen String in ein int-Feld schreiben will, wird das nix... ;-)

        Kommentar


        • #5
          Re: Re: Problem mit Datenbank eintrag

          Original geschrieben von Marscel
          Im Query musss man "INSERT INTO gbook (id, datum, zeit, name, ...) VALUES ('', $datum, $zeit, $name,...);" verfahren (natürlich müssen die Namen in den ersten Klammern den richtigen Feldnamen haben), wenns trotzdem so gehen sollte, rate ich aber nicht an, es so zu tun.
          So ein quatsch, muss man nicht unbedingt! Werte ohne Quotes zu setzen ist jeweils abhängig von dem Datenbankfeld.

          @Simon2004, hast du den Thread "Erst lesen: Posten von Problemen" gelesen?[list=1][*]Erhälst du eine Fehlermeldung? Wenn ja, welche?[*]Was hast du bisher versucht, um den Fehler zu beheben?[/list=1]

          Kommentar


          • #6
            so wenn ich nun echo $query mach kommt das dabei raus:
            INSERT INTO gbook VALUES('', '13.12.2005', '22:37', 'test', 'test', 'http://', 'test', '84.148.24.75')Fehler

            eigentlich genau das was soll und das ist der punkt den ich an der sache nicht versteh eigentlich sollte er das ja machen.
            @Marscel
            "INSERT INTO gbook (id, datum, zeit, name, ...)
            VALUES ('', $datum, $zeit, $name,...);"
            habe ich es auch schon probiert da kam es aufs selbe raus
            Zuletzt geändert von Simon2004; 13.12.2005, 21:41.

            Kommentar


            • #7
              Und welche Datentypen haben die Spalten? Evtl. gibt es da Konflikte.

              Kommentar


              • #8
                feld typ null standard extra
                id int(4) Nein auto_increment
                datum varchar(10)
                zeit varchar(8) Nein
                name varchar(50) Nein
                email varchar(50) Nein
                www varchar(50) Ja NULL
                eintrag text Nein
                ip_adresse varchar(15) Nein

                also so sieht die tabelle aus, müsste alles richtig sein, da ich über phpmyadmin ohne jegliche fehler einträge machen kann.

                Kommentar


                • #9
                  Re: Problem mit Datenbank eintrag

                  Original geschrieben von Simon2004

                  PHP-Code:
                  $connect =    mysql_connect($dbserver,$dbuser,$dbpass); 
                  $selectDB =    mysql_select_db($dbname) or die("Select nicht ausgeführt");
                      
                  $query =  "INSERT INTO gbook VALUES('', '$datum', '$zeit', '$name', '$email', 
                  '
                  $www', '$eintrag', '$ip')";
                      
                  mysql_query($query,$connect);
                      
                  $result =  mysql_query($query,$connect);
                      if (!
                  $result
                          { 
                              die (
                  'Fehler');

                          } 
                       
                  mysql_close($connect); 
                  versuchs mal damit:
                  PHP-Code:
                  $connect =    mysql_connect($dbserver,$dbuser,$dbpass); 
                  $selectDB =    mysql_select_db($dbname) or die("Select nicht ausgeführt");
                      
                  $query =  "INSERT INTO gbook VALUES('', '".$datum."', '".$zeit."', '".$name."', '".$email."', 
                  '"
                  .$www\."', '".$eintrag."', '".$ip."')";
                      
                  mysql_query($query,$connect);
                      
                  $result =  mysql_query($query,$connect) or die("<pre>Fehler:<br>".mysql_errno()."@".mysql_error()."</pre>");

                       
                  mysql_close($connect); 

                  Kommentar


                  • #10
                    also
                    @ reallife
                    wenn ich das so mach wie du bekomm ich folgendes zurück:
                    Fehler:

                    1264@Out of range value adjusted for column 'id' at row 1

                    Kommentar


                    • #11
                      Du solltest die Feldnamen explizit angeben, da du eine auto_increment-Spalte hast und MySQL es nicht so gerne mag, wenn du versuchst, etwas anderes einzufügen...

                      Also z.B.
                      PHP-Code:
                      insert into tabelle set feld1 '$feld1'feld2 '$feld2'.... 

                      Kommentar


                      • #12
                        ok ich hab den Fehler gefunden.
                        aufgrund der ausgabe:
                        1264@Out of range value adjusted for column 'id' at row 1
                        habe ich bei google mal gesucht und es lag an einer einstellung in meiner my.ini
                        aber danke nochmal für die schnelle und gute hilfe.
                        MFG
                        Simon

                        Kommentar

                        Lädt...
                        X