Php 如何在最近1分钟内仅在sql中显示新添加的数据

Php 如何在最近1分钟内仅在sql中显示新添加的数据,php,Php,我的sqldate格式是2015-02-25 19:45:28 所以我想做一个php查询,显示从当前时间到最后1分钟内新添加的帖子 如果帖子发生时间为20:20:00,而我的查询的当前时间为20:20:10,则会显示帖子。但是,如果我的查询的当前时间是20:22:00(距离发布时间超过1分钟),它将不会显示任何内容 我的第一次尝试:显示最后一篇文章也超过1小时 $timestamp = date("Y-m-d H:i:s", time() - 60); // here 60 for last 6

我的sql
date
格式是
2015-02-25 19:45:28

所以我想做一个php查询,显示从当前时间到最后1分钟内新添加的帖子

如果帖子发生时间为20:20:00,而我的查询的当前时间为20:20:10,则会显示帖子。但是,如果我的查询的当前时间是20:22:00(距离发布时间超过1分钟),它将不会显示任何内容

我的第一次尝试:显示最后一篇文章也超过1小时

$timestamp = date("Y-m-d H:i:s", time() - 60);
// here 60 for last 60 second
$results = mysqli_query($dbh,"SELECT * FROM comment WHERE qazi_id='1012' AND `date` > '".$timestamp."' ORDER BY date DESC LIMIT 1") or die(mysqli_error($dbh));
我的第二次尝试:不显示上次添加的任何内容

$results = mysqli_query($dbh,"SELECT * FROM comment WHERE qazi_id='1012' AND date >= NOW() - INTERVAL 60 SECOND ORDER BY date DESC LIMIT 1") or die(mysqli_error($dbh));

我知道你可以做如下事情:

select * from table where YEAR(date) = 2015 and MONTH(date) = 1 and DAY(date) = 1 and MINUTE(date) = 1
因此,您可能需要获取当前时间,并从DB中进行减法运算。此外,我从未尝试使用
MINUTE()
来实现这一点

E// 我找到了一个更好的解决方案:

select * from table where date > date_sub(now(), interval 1 minute) ;
试试这个:

$date1minute = date('Y-m-d H:i:s', strtotime('-1 minute'));
$results = mysqli_query($dbh,"SELECT * FROM comment WHERE qazi_id='1012' AND date >= '$date1minute' ORDER BY date DESC LIMIT 1") or die(mysqli_error($dbh));
或:


检查我的编辑我相信这就是你要找的。它必须是,否则你的数据库或代码有问题。不工作,显示前2小时的数据。谢谢。您以前设置过默认时区吗?date_default_timezone_set()和just:$date1minute=date('Y-m-dh:i:s');你的第一个工作,这是我的错误,我上传我的文件在我的网站错误的目录。非常感谢你。
$date1minute = date('Y-m-d H:i:s', mktime(date("H"),date("i") - 1, date("s") , date("m") , date("d") , date("Y") ));
$results = mysqli_query($dbh,"SELECT * FROM comment WHERE qazi_id='1012' AND date >= '$date1minute' ORDER BY date DESC LIMIT 1") or die(mysqli_error($dbh));