PHP mysqli最新活动(按日期)

PHP mysqli最新活动(按日期),php,mysql,Php,Mysql,我已经尝试了很多其他人做过的不同方法,但我不太明白。我有一个数据库,里面有一堆打印订单,我的网站上有一个打印订单跟踪器。在tracker页面上,我想通过显示上个月创建的所有打印作业来显示最近完成的活动 我正在努力做到这一点,同时又不会使事情过于复杂化 在这里,我只是尝试进行一个SQL查询,说明上个月和今天之间完成的日期。以下是我尝试过的最新代码片段之一,但不是所有代码: $date = new DateTime('now'); $today = $date->format('Y-m-d H

我已经尝试了很多其他人做过的不同方法,但我不太明白。我有一个数据库,里面有一堆打印订单,我的网站上有一个打印订单跟踪器。在tracker页面上,我想通过显示上个月创建的所有打印作业来显示最近完成的活动

我正在努力做到这一点,同时又不会使事情过于复杂化

在这里,我只是尝试进行一个SQL查询,说明上个月和今天之间完成的日期。以下是我尝试过的最新代码片段之一,但不是所有代码:

$date = new DateTime('now');
$today = $date->format('Y-m-d H:i:s');
$lastMonth = date_modify($date, "-1 month");
$result = $lastMonth->format('Y-m-d H:i:s');

SELECT * FROM other_card WHERE  Date_Completed BETWEEN '$today' AND '$result' order by Date_Completed");
任何信息都是有用的!我知道变量的名字有点奇怪。只是想让它发挥作用

作品之间从小到大的价值,而不是相反 你根本不需要介于两者之间,只要日期>某个日期就可以了。 另一方面,您应该使用准备好的语句,而不是直接向查询添加值
请尝试按如下方式构造查询:


从其他卡片中选择*,其中完成日期<'今日>和完成日期>'结果'按完成日期排序

不需要用PHP生成日期。MySQL可以为您做到这一点:

SELECT ...
WHERE ... Date_Completed BETWEEN now() - interval 1 month AND now()

这也解决了一些边缘情况,PHP可能会在一个月的最后一天晚上11:59:59生成日期,而查询实际上要到下个月的00:00:01才能执行。

Ah总是简单的事情。我注意到让MySQL获取datetime对象很棘手,我认为这是不可能的。谢谢!执行查询时会得到什么?