MySQL konvertiert meine Zeitstempelwerte in "0000-00-00"

8

Ich bin neu in PHP und lerne derzeit noch. Ich habe Probleme mit meinem Anmeldeformular, denke ich. username , password , email fügen alle erfolgreich in MySQL ein. registered und last_seen nicht.

Ich dachte, ich benutze getTimestamp() falsch, aber es echo was ich brauche. Wenn ich jedoch versuche, beide Timestamp-Felder in MySql einzufügen, sehe ich in diesen Feldern 0000-00-00 00:00:00 anstelle dessen, was vor der SQL-Abfrage ausgegeben wurde. Was mache ich hier falsch? Jede Hilfe wird sehr geschätzt.

%Vor%

Hier ist, was SHOW CREATE TABLE users; mir zeigt.

%Vor%     
Helly 11.02.2013, 07:35
quelle

3 Antworten

11

Das kommt ziemlich oft vor.
Sie verwechseln mysql timestamp, was tatsächlich ein DATETIME-ähnlicher Wert mit UNIX-Zeitstempel ist. Dies ist die Anzahl der Sekunden, die seit dem 01.01.1970 vergangen sind.

Sie müssen entweder das Feldformat oder den Einfügewert ändern.
Sie können auch einige mysql Funktionen finden - CURDATE () oder NOW () zum Beispiel

%Vor%

Aber ich persönlich würde mysql Zeitstempel vermeiden. Sie können unerwartet geändert werden und ruinieren alle Ihre Daten. Ich würde DATETIME verwenden und alle Werte manuell setzen.

    
Your Common Sense 11.02.2013, 07:39
quelle
3

Sie können FROM_UNIXTIME() Funktion um UNIX-Zeitstempel in MySQL-Datum zu konvertieren:

%Vor%     
Salman A 11.02.2013 07:54
quelle
-1
%Vor%

Ich denke, es wird dir helfen. Danke.

    
ripa 11.02.2013 07:41
quelle

Tags und Links