带时间戳的mysql日志表 - 需要读回时间戳

时间:2013-03-31 11:19:19

标签: php mysql logging timestamp

我有一个记录用户活动的日志表,并使用以下

创建时间戳
function user_log($user_name, $log_data){
 $ipaddress = $_SERVER["REMOTE_ADDR"];
mysql_query("INSERT INTO `logs` (user_id, time_stamp, activity, ip) VALUES ('$user_name', now(), '$log_data', '$ipaddress')");

}

如您所见,我使用了now()功能 但是我的问题是我希望能够删除超过28天(2419200秒)的日志。

为此,我尝试了以下内容......

$past_date = mktime()-2419200;
mysql_query("DELETE * FROM logs WHERE time_stamp<'$past_date'");

然而它不起作用,我怀疑我缺少的格式不同。

提前致谢,

凸轮

3 个答案:

答案 0 :(得分:0)

MySQL使用的日期格式是

yyyy-MM-dd

实施例

2013-03-31

尝试

DELETE * FROM logs WHERE time_stamp < curdate() - 28 day

答案 1 :(得分:0)

$mysql_date = date("Y-m-d", strtotime($past_date))

你必须使用这样的东西。

答案 2 :(得分:0)

试试这个......

DELETE * FROM logs WHERE time_stamp <= NOW() - INTERVAL 28 DAY