从 MySQL 表中选择 PHP 时间戳早于 X 的行
我有一个用户表,需要批准用户,我想显示未批准且注册时间超过 7 天的用户.
I have a user table, where users need to be approved, i want to show users who are not approved and is registered more than 7 days ago.
我的 user_regdate 是使用 php time() 函数创建的时间戳.
My user_regdate is a timestamp created with php time() function.
这是我尝试的,它不起作用:
This is what i try, it does not works:
mysql_query("select * from users WHERE user_regdate < now() - interval 7 day AND approved='0' order by id;");
谢谢
推荐答案
PHP 的 timstamps 是一个简单的整数,而 MySQL 的 now()
返回一个日期时间值.这很可能会修复查询:
PHP's timstamps are a simple integer, whereas MySQL's now()
returns a datetime value. Most likely this will fix up the query:
SELECT ... WHERE user_regdate < unix_timestamp(now() - interval 7 day)) ...
基本上,如果没有 unix_timstamp() 调用,您就是在比较苹果和橙子.
Basically, without the unix_timstamp() call, you're comparing apples and oranges.
相关文章