Phil: date_format as liefert leeren String

Hi,

folgende Abfrage auf ein Datenbankfeld vom Typ INT(11):
$sqr="SELECT DATE_FORMAT(letzter_login, '%d.%e.%Y %T') AS letzter_login FROM members WHERE memberID='".$row['ID']."'";

Das Feld letzter_login wurde zuvor über time() aktualisiert und in phpmyadmin sehen ich auch, dass das Feld eine Zahlenkolonne enthält.

Aber leider leider wird bei
echo "Letzter Login: ".$lastlogin['letzter_login']."<br>\n";
nur ein leerer String ausgegeben.

Woran liegt das?

Gruß und Dank vorab
Philip

  1. Hi,

    Woran liegt das?

    Daran, dass die Funktion einen der MySQL-Datumstypen als erstes Argument erwartet, und nicht einen Unix Timestamp.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
  2. Tach!

    folgende Abfrage auf ein Datenbankfeld vom Typ INT(11):
    $sqr="SELECT DATE_FORMAT(letzter_login, '%d.%e.%Y %T') AS letzter_login FROM members WHERE memberID='".$row['ID']."'";

    Ein Datums-/Zeit-Wert unter MySQL ist kein Integer sondern ein eigener Typ. Wenn dein Integer ein Unix-Timestamp ist, solltest du ihn vorher mit FROM_UNIXTIME() in einen DATETIME-Wert umrechnen. Allerdings kommst du möglicherweise besser, wenn du gleich richtige Zeitangaben speicherst. Alternativ: nimm die Formatierung in PHP vor.

    dedlfix.