Klaus: Time

Guten Morgen

ich bin gerade dabei ein Newsscript zu basteln und habe einen Fehler auf den ich absolut nicht komme.

mit folgendem Code speicher ich einen Kommentar zur News in die Datenbank.
Jedoch wird das Datum in der Datenbank auf 00000000000000...
das time gibt mir auch nur 10 stellen aus.. aber in der Datenbank ist es auf Timestamp(14) gestellt und das klappt alles nicht..
kann mir jemand helfen??

c_datum  timestamp(14)   Ja  NULL

$datsi=time();
$sql = mysql_query("INSERT INTO newcomment VALUES ('', '$n_id', '$poster', '', '$kommentar')");

  1. Huhu Klaus

    $datsi=time();
    $sql = mysql_query("INSERT INTO newcomment VALUES ('', '$n_id', '$poster', '', '$kommentar')");

    Mmmmh, Du übergibst hier einen Leerstring '' für die
    timestamp-Spalte.
    Da kann natürlich kein sinnvolles Datum bei rauskommen.

    Du müsstest

    a) Gar keinen Wert übergeben, dann würde MySQL automatisch die Systemzeit vergeben, sofern dies die erste Timestamp-Spalte ist.
    Dann musst Du allerdings alle Spalten explizit vorgeben.

    b) den aktuellen Timestamp im Query selbst übergeben. (Format beachten)

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
    1. ooops sorry hatte beim testen vergessen das wieder einzusetzen..
      also normalerweise hatte ich keinen leerstring übergeben sondern die variable datsi da drinn...
      mit leer hab ich es auch schon probiert aber da kommt gar nix... immer 0 .. wenn ich die variable datsi vorher ausgebe kommt ein richtiger timestamp von 10 zeichen...
      aber in der datenbank stehen dann 14 x ne 0...

      1. Huhu Klaus

        mit leer hab ich es auch schon probiert aber da kommt gar nix... immer 0 .. wenn ich die variable datsi vorher ausgebe kommt ein richtiger timestamp von 10 zeichen...
        aber in der datenbank stehen dann 14 x ne 0...

        "Unix Timestamp Format (Zähler der Sekunden seit 1970)" != "MySQL Timestamp Format (YYYYMMDDHHIISS)"

        Du musst also z.B. mit date() Deinen Unixtimestamp richtig formatieren.

        Wenn es die aktuelle Zeit sein soll kannst Du im Insert-Query auch einfach
        NOW() schreiben.

        Viele Grüße

        lulu

        --
        bythewaythewebsuxgoofflineandenjoytheday