pdo mysql时间戳过滤器被忽略

时间:2013-11-14 19:57:35

标签: php mysql datediff

我正在尝试使用下面的函数从过去24小时内创建的表中选择记录。我不明白为什么它返回所有记录而不是仅仅持续24小时(创建> UNIX_TIMESTAMP(DATE_SUB(NOW(),INTERVAL 24 HOUR))。

任何建议表示赞赏。

function getActive()
{
global $dbh;

$statement  =   $dbh->prepare("SELECT * FROM jobs WHERE created > UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 24 HOUR))");

$statement->setFetchMode(PDO::FETCH_CLASS|PDO::FETCH_PROPS_LATE, 'Jobs');

$statement->execute();      
$result     =   $statement->fetchAll();


return ($result)?$result:array();
}

1 个答案:

答案 0 :(得分:0)

首先检查您创建的列数据类型是否正确,然后尝试此

SELECT * FROM jobs WHERE created < date_add(NOW(), INTERVAL -24 HOUR)