在我的脚本中,我将PHP time()值存储在数据库中。 我有一个简单的解决方案,但我敢打赌它肯定不是最“干净”的解决方案。
<?php
$time = time();
mysql_query("DELETE FROM table WHERE expire < '$time';");
?>
是否存在与PHP time()函数格式相同的MySQL函数?
提前致谢! PS:请通过纠正我来支持我的英语:)
编辑:我会选择UNIX_TIMESTAMP(),感谢所有人,帮助我并讨论最佳选择。
答案 0 :(得分:3)
是的。您可以使用now函数。
mysql_query("DELETE * FROM table WHERE expire < NOW();");
编辑:我建议您使用此功能而不是UNIX_TIMESTAMP。原因是您的列类型应为DATE且不长。在这种情况下,您可以在日期列上执行时间功能,您无法轻松执行时间戳值。
答案 1 :(得分:2)
SELECT UNIX_TIMESTAMP(); // returns 1298999053 for example
这样:
mysql_query("DELETE * FROM table WHERE expire < UNIX_TIMESTAMP()");
答案 2 :(得分:1)
在MySQL中,该函数名为now()。
DELETE * FROM table WHERE expire < now();