PHP MySQLI DateTime时间戳拉取不正确

PHP MySQLI DateTime时间戳拉取不正确,php,datetime,mysqli,Php,Datetime,Mysqli,好的!因此,我有一个页面,我试图从数据库中提取一个日期

好的!因此,我有一个页面,我试图从数据库中提取一个日期<30天的记录列表。 现在,棘手的部分是-日期格式是“yyyy-mm-dd hh:mm:ss”

这是我的密码:

$Today = date("Y-m-d h:i:s");
if ($result = $mysqli->query("SELECT * FROM table WHERE DATEDIFF(ExpireDate, '$Today') < 30 ORDER BY `StartDate` ASC")) 
{
    while($row = mysqli_fetch_array($result))
    {
        //show records
        //this type of query usually works when I'm NOT doing stuff with dates
    }
    mysqli_close($mysqli);
}
$Today=日期(“Y-m-d h:i:s”);
if($result=$mysqli->query($SELECT*FROM table WHERE DATEDIFF(ExpireDate,$Today))<30 ORDER BY`StartDate`ASC”))
{
while($row=mysqli\u fetch\u数组($result))
{
//显示记录
//这种类型的查询通常在我不处理日期的时候起作用
}
mysqli_close($mysqli);
}
当我尝试只提取没有任何日期/时间条件的记录时,它会给出整个记录列表,但当我想查看这些条件时,它不会显示任何内容

如何显示过期30天的记录

我应该注意-这只供内部使用,外部世界无法访问。

(我只是想要一些简单的内部记录保存方法)

我甚至试过:

select * from table where some_date < curdate() - interval 30 day
从表中选择*,其中某些日期

失败得很惨。。。想法?

&
正好30天?或者30天以内的?例如,同一个结果集中的16天和29天?expireDate列是否是datetime列?@iam decoder“<=30”@iam decoder这两个建议都很好地解决了!谢谢
$Today = date("Y-m-d h:i:s");
$ExpiresFromToday= date("Y-m-d h:i:s", strtotime("+30 days"));
if ($result = $mysqli->query("SELECT * FROM `table` WHERE (`ExpireDate` < '$ExpiresFromToday' AND `ExpireDate` > '$Today') ORDER BY `StartDate` ASC")){
    while($row = mysqli_fetch_array($result)){
        //show records
    }
    mysqli_close($mysqli);
}
$Today = date("Y-m-d h:i:s");
if ($result = $mysqli->query("SELECT * FROM `table` WHERE (DATEDIFF(DATE(`ExpireDate`), DATE('$Today')) < 30 AND `ExpireDate` >= '$Today') ORDER BY `StartDate` ASC")){
    while($row = mysqli_fetch_array($result)){
        //show records
    }
    mysqli_close($mysqli);
}