查询从数据库中选择从过去的特定时间到现在创建的记录

时间:2011-12-24 01:57:09

标签: php mysql database timestamp

我是一个新手,会很感激帮助:)

我希望从mysql表中找到条目,这些条目是从现在到过去的某个时间戳之间的某个时间创建的。过去的这个时间存储在一个变量中(比如$ timeinthepast,几小时前或者昨天,无论如何)。表中的'timecreated'列是创建条目的时间戳。

以下工作会怎样?如果没有,那会是什么?

谢谢!

    <?php

        $query = mysql_query("SELECT * FROM table1 
                 WHERE timecreated = DATE_ADD(NOW(), INTERVAL -$timeinthepast)");

    ?>

我的基础是:Query to select records from a database that were created within the last 24 hours

2 个答案:

答案 0 :(得分:1)

只要$timeinthepast在sql中有效(1 MONTH2 HOUR,例如),您就可以尝试BETWEEN

$query = mysql_query("SELECT * FROM table1 
         WHERE timecreated BETWEEN 
         DATE_SUB(NOW(), INTERVAL $timeinthepast) AND NOW()");

答案 1 :(得分:0)

我发现中间语法是最友好的。我没有测试过这个抱歉:)

Select * from `table1` where `timecreated` between DATE_SUB(NOW(), INTERVAL  1 month)  and NOW()

您需要将过去的时间整整一些描述。