php - mysql - speicher problem

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

  • #16
    habe jetzt
    1000000
    vorgegeben

    und er speicherte das auch: 1000000

    hmm liegts doch am string....

    puh... nur wo??
    Beachte: Dumm ist, wer Dummes tut.

    Kommentar


    • #17
      ich hab die spalte als

      CHAR(15)

      ist das für einen timestamp ok? also UNIX_TIMESTAMP()

      erspeichert mir immer:
      1.03561279559E+

      warum?

      er soll doch nur 15 ziffern speichern.
      Beachte: Dumm ist, wer Dummes tut.

      Kommentar


      • #18
        Das ist keinesfalls richtig!
        Ein Unix Timestamp ist ein Integer, also wäre auch INTEGER der richtige Type.
        Ansonsten könnte DATE, DATETIME oder TIME die bessere Wahl sein.
        Wir werden alle sterben

        Kommentar


        • #19
          ja okay. verstehe. aber bei mysql find ich keinen intreger. ich will ja den timestamp also die 12 ziffern speichern.

          warum macht er denn die koplette reihe mit 15 zeichen bei CHAR(15) voll? obwohl in der query

          UPDATE `oxami_anzeige` SET `anzeige_ende` = "1198614552" WHERE anzeige_id = 31

          steht? speichert er:

          103561495648

          ich werd langsam wahnsinnig...

          [EDIT]

          UPDATE `oxami_anzeige` SET `anzeige_ende` = '1198614768' WHERE anzeige_id = 31

          dabei ist die variable '1198614768'

          wenn ich nun 1000000 einsetzte speichert er dies GENAU, aber nicht bei 1198614768...
          Beachte: Dumm ist, wer Dummes tut.

          Kommentar


          • #20
            aber bei mysql find ich keinen intreger
            evtl findest du ja hier etwas, was sich so ähnlich nennt: http://dev.mysql.com/doc/refman/5.0/...ric-types.html
            Zuletzt geändert von combie; 22.12.2007, 21:59.
            Wir werden alle sterben

            Kommentar


            • #21
              daaaaaaaaaaaaanke!!!!!!!!!!!!!!!!!!!


              es musste nur der BIGINT(15) sein...

              Beachte: Dumm ist, wer Dummes tut.

              Kommentar


              • #22
                Unglaublich!
                Wenn bei dir BIGINT notwendig ist, machst du irgendwas anders, als du bisher gezeigt/geschrieben hast!
                Wir werden alle sterben

                Kommentar


                • #23
                  hm. es hat nachdem ich auf BIGINT geändert habe, komischerweise funktioniert. obwohl es mit int bei dem anzeige_time richtig funktioniert hatte...
                  Beachte: Dumm ist, wer Dummes tut.

                  Kommentar


                  • #24
                    hallo @ all

                    Das Problem ist Leider noch nicht behoben....

                    Mein PHP - Script sieht so aus:

                    Die Datenbank:
                    Siehe Anhang!
                    anzeige_ende INT(15)
                    anzeige_status CHAR(1)
                    anzeige_time INT(15)

                    Der Code
                    PHP-Code:
                    $artikel $_GET['art'];
                    $anzeige_time mktime();
                    $anzeige_update "UPDATE `oxami_anzeige` SET `anzeige_time` 
                    = "
                    .$anzeige_time.", `anzeige_status` = 1 
                    WHERE anzeige_id = "
                    .$artikel."";
                    $anzeige_sql mysql_query($anzeige_update) or die(mysql_error());
                    $select "SELECT anzeige_ende AS ende FROM oxami_anzeige 
                    WHERE anzeige_id = '"
                    .$_GET['art']."' LIMIT 0,1";
                    $sql mysql_query($select);
                    $ds mysql_fetch_object($sql);
                    $anzeigen_ende $ds->ende;
                    echo 
                    $anzeigen_ende."<br>";
                    $anzeigen_ende $anzeigen_ende * (60*24*60);
                    echo 
                    $anzeigen_ende."<br>";
                    $anzeigen_ende $anzeigen_ende - (60*60);
                    echo 
                    $anzeigen_ende."<br>";
                    $anzeigen_ende $anzeige_time $anzeigen_ende;
                    echo 
                    $anzeigen_ende."<br>";
                    $anzeigen_ende date("Y-m-d H:i:s"$anzeigen_ende);
                    echo 
                    $anzeigen_ende."<br>";
                    $anzeige_ende_update"UPDATE `oxami_anzeige` SET 
                    `anzeige_ende` = UNIX_TIMESTAMP('"
                    .$anzeigen_ende."') 
                    WHERE `anzeige_id` = '"
                    .$artikel."' ";
                    $anzeige_ende_sql   mysql_query($anzeige_ende_update
                    or die(
                    mysql_error());
                    echo 
                    $anzeige_update."<br>";
                    echo 
                    $anzeige_ende_update
                    Durch die echo's kommt folgende Ausgabe zu Stande.


                    5
                    432000
                    428400
                    1199354011
                    2008-01-03 10:53:31
                    UPDATE `oxami_anzeige` SET `anzeige_time` = 1198925611, `anzeige_status` = 1 WHERE anzeige_id = 38
                    UPDATE `oxami_anzeige` SET `anzeige_ende` =
                    UNIX_TIMESTAMP('2008-01-03 10:53:31') WHERE `anzeige_id` = '38'
                    Die "5" kommt aus der Datenbank, das sind die Tage in der Zukunft.

                    in anzeige_ende hat er anstatt von dem Timestamp in der Zukunft

                    709521820

                    gespeichert.....

                    Wenn ich aber:

                    UPDATE `oxami_anzeige` SET `anzeige_ende` =
                    UNIX_TIMESTAMP('2008-01-03 10:53:31') WHERE `anzeige_id` = '38'

                    unter PHPMyAdmin ausführe, dann macht er's richtig...

                    Warum?
                    Zuletzt geändert von bofan; 29.12.2007, 11:40.
                    Beachte: Dumm ist, wer Dummes tut.

                    Kommentar


                    • #25
                      Beachte: Dumm ist, wer Dummes tut.

                      Kommentar


                      • #26
                        UPDATE.

                        ALSO.

                        wenn ich jetzt speichere, speichter er nur noch '0' in die Datenbank....

                        10
                        864000
                        860400
                        1199796293
                        2008-01-08 13:44:53
                        UPDATE `oxami_anzeige` SET `anzeige_time` = 1198935893, `anzeige_status` = 1 WHERE anzeige_id = 42
                        UPDATE `oxami_anzeige` SET `anzeige_ende` = UNIX_TIMESTAMP('2008-01-08 13:44:53') WHERE `anzeige_id` = '42'
                        Erklärung der Zahlen

                        10 [Wert aus der DB] 10 Tage
                        864000 10 Tage in Sekunden
                        860400 9 Tage 23 Std.
                        1199796293 (TIMETAMP + 860400)
                        DATUM aus dem errechneten Timestamp.
                        Zuletzt geändert von bofan; 29.12.2007, 14:19.
                        Beachte: Dumm ist, wer Dummes tut.

                        Kommentar

                        Lädt...
                        X