Probleme mit Timestamp

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

  • Probleme mit Timestamp

    Hallo zusammen,

    ich möchte eine IP zusammen mit einem Zeitstempel speichern. Alles funktioniert so weit, die IP wird gespeichert, aber im Feld für den Timestamp steht immer nur 00000000000000.

    Das Feld timetest ist vom Typ Timestamp, hat eine Länge von 14. Dazu Null "Ja" und Standard "Null" (Angaben aus MyAdmin).

    Folgenden Code nutze ich, um die Werte in die DB zu spielen:

    PHP-Code:
    // Datenbank Variablen
    $dbserver "rdbms.strato.de";
    $dbname "DBxxxxx";
    $dbuser "www.xxx.de";
    $dbpass "xxx"

    // Sonstige Variablen 
    $stehenlassen 120;

    $conn = @ mysql_connect($dbserver,$dbuser,$dbpass);
    if (!
    $conn

    die(
    "Sorry, Datenbank nicht gefunden !"); 
    }

    mysql_select_db($dbname,$conn);


    $ip $HTTP_SERVER_VARS["REMOTE_ADDR"];

    $zeit time ();


    $query "INSERT INTO test VALUES (\"$ip\", $zeit)";
     
    mysql_query($query,$conn); 
    Sollte eigentlich alles stimmen, aber irgendwie funktioniert es nicht. Weiß jemand von euch Rat? Würde mich super freuen.
    Die DB läuft übrigens auf einem Premium-Paket von Strato. Könnte da das Problem liegen? Auf meinen 1und1-Paket scheint es zu gehen...

    Danke im voraus und viele Grüße
    langerxxx

  • #2
    Hi !

    Ich weiß zwar nicht, wo die Variable $zeit herkommt und wie sie aussieht, aber sie sollte vom Typ "YYYYMMDDHHMMSS" sein.

    Oder noch einfacher. Falls das dein einziges (und/oder erstes) TIMESTAMP Feld ist, dann lass es einfach weg. Wird dann beim INSERT automatisch aktualisiert.

    Gruß

    Le Cheffe

    Kommentar


    • #3
      lass mal den Timestamp weg bei deinem Insert!

      in MySQL wird die erste Timestampspalte einer
      Tabelle bei Insert/Updates automatisch auf die
      aktuelle Zeit gesetzt.
      TBT

      Die zwei wichtigsten Regeln für eine berufliche Karriere:
      1. Verrate niemals alles was du weißt!


      PHP 2 AllPatrizier II Browsergame

      Kommentar


      • #4
        Dein Insert kann gar nicht funktionieren, da du mit der Funktion time() einen Unix-Zeitstempel ausgeben lässt.
        Dieser gibt die Sekunden aus, die seit dem 01.01.1970, 00:00:00 Uhr vergangen sind.

        Der Timestamp in der MySQL-Tabelle hat bei einer Länge von 14 allerdings das Format YYYYMMDDHHMMSS.

        Die erste Timestamp-Spalte der Tabelle wird bei jeder insert- oder update-Anweisung immer automatisch aktualisiert. Daher brauchst du für diese Spalte eigentlich keinen Wert angeben. Willst du trotzdem einen Wert angeben sieht das so aus:
        PHP-Code:
        $query "INSERT INTO test VALUES ('$ip', now())"
        Gruß
        whorf
        if ($getraenk=="kein kaffee mehr da" && $verlangen=="gross") { $arbeitsmoral="im keller"; }

        Kommentar


        • #5
          Hallo zusammen,

          vielen Dank für eure Hilfe. Mit now() lässt sich der Timestamp einfügen, super Tipp!

          Eine Frage stellt sich mir allerdings noch:

          Ich habe genau den gleichen Code wie oben angegeben auf meinem 1und1-Webspacepaket getestet und da funktioniert es ohne Probleme... Versteh' ich einfach nicht, zumal ich den Code aus einem Tutorial hier übernommen habe. Woher könnten denn diese Unterschiede kommen?

          Danke nochmal an euch, hier wird man wirklich geholfen!

          Gruß
          langerxxx

          Kommentar

          Lädt...
          X