2010-09-01 13 views
12

Ich habe eine Abfrage, dass ich eine Spalte mit der aktuellen Datum Uhrzeit aktualisieren möchte. Die Spalte, die ich aktualisieren möchte, ist vom Typ datetime.Mysql/Php - Aktuelles Datum und Uhrzeit

Wie kann ich es bekommen und einstellen?

else{ //If the last update is NULL, It must be players first page load. So set datetime equal to NOW 
    $query = "UPDATE `stats` SET `last_ap_update` = WHERE `member_id` = {$_SESSION['SESS_MEMBER_ID']}"; 
    $queryresult = mysql_query($insertqry); 
} 
+2

wollen verwenden können, wenn Sie die 'timestamp' Typ für die Spalte verwenden, wird es diese automatisch zu jeder Zeit tun der Datensatz aktualisiert wird ... http: // dev .mysql.com/doc/refman/5.0/en/timestamp.html – prodigitalson

+0

Das wird nicht für meine Zwecke funktionieren. – user377419

Antwort

20

Verwenden NOW() in der Abfrage würde dies zur Verfügung stellen.

else{ //If the last update is NULL, It must be players first page load. So set datetime equal to NOW 
    $query = "UPDATE `stats` SET `last_ap_update` = NOW() WHERE `member_id` = {$_SESSION['SESS_MEMBER_ID']}"; 
    $queryresult = mysql_query($insertqry); 
} 

Aber wenn dies jederzeit die Tabellen Updates aktualisiert wird, würde ich vorschlagen, um die Spalte zu TIMESTAMP ändern und dies wird für Dich zu jeder Zeit, dass Rekord Änderungen auf die aktuelle Zeit automatisch aktualisiert.

+0

woooooo. Es funktioniert, Sie erhalten die beste Antwort, wenn ich kann. – user377419

+0

Denken Sie daran, dass mySql Probleme mit Zeiteinheiten kleiner als Sekunden hat. Es gibt einige nicht unterstützte Patches, wenn Sie diese Funktion benötigen. Vielleicht möchten Sie nur die Systemzeit beim Erstellen der Anforderungszeichenfolge eingeben und alles um ein Epoche- + Makrosekunden-Format herum arbeiten (wie viele MySQL-Leute mit Auditing-Anforderungen). – Incognito

2

Sie können dafür die mysql-Funktion NOW() verwenden, oder Sie können $ _SERVER ['REQUEST_TIME'] einfügen, damit die Abfrage von mysql zwischengespeichert wird.

8
else{ //If the last update is NULL, It must be players first page load. So set datetime equal to NOW 
    $query = "UPDATE `stats` SET `last_ap_update` = '".gmdate("Y-m-d H:i:s")."' WHERE `member_id` = {$_SESSION['SESS_MEMBER_ID']}"; 
    $queryresult = mysql_query($insertqry); 
} 

Sie ein beliebiges Format Sie statt gmdate("Y-m-d H:i:s")