PHP MySQLI DateTime时间戳拉取不正确
好的!因此,我有一个页面,我试图从数据库中提取一个日期<30天的记录列表。 现在,棘手的部分是-日期格式是“yyyy-mm-dd hh:mm:ss” 这是我的密码:PHP MySQLI DateTime时间戳拉取不正确,php,datetime,mysqli,Php,Datetime,Mysqli,好的!因此,我有一个页面,我试图从数据库中提取一个日期
$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);
}