我有一个记录用户活动的日志表,并使用以下
创建时间戳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'");
然而它不起作用,我怀疑我缺少的格式不同。
提前致谢,
凸轮
答案 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