05-03 11:02:00,我想使用php在where条件下传递这个值

1yjd4xko  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(319)

在我的表格中,“时间”数据显示在2018-05-03 11:02:00这个日期时间。所以我想通过传递这个datetime来获取数据。
这是我的密码:

$query1=$this->db->query("SELECT sum(count) As total, sum(status) As 
is_completed FROM `tasks` WHERE `staff_id` = '$datas[$i]' AND `time` > 
DATE_SUB(CURDATE(), INTERVAL 1 HOUR)");

此代码未显示任何结果,但此日期时间上存在数据。我怎样才能把这个日期时间作为where条件传递呢

pgvzfuti

pgvzfuti1#

CURDATE() 仅返回日期。所以当你这么做的时候 DATE_SUB(CURDATE(), INTERVAL 1 HOUR) ,您返回的时间相当于昨天23:00:00
看来对于你想做的事,最好用 NOW() .
您可以尝试以下查询:

SELECT sum(count) AS total, sum(status) AS is_completed
  FROM `tasks` WHERE `staff_id` = '$datas[$i]'
  AND `time` > DATE_SUB(NOW(), INTERVAL 1 HOUR)
tpxzln5u

tpxzln5u2#

改变 CUR_DATE()NOW() ```
$query1=$this->db->query("SELECT sum(count) As total, sum(status) As is_completed FROM tasks WHERE staff_id = '$datas[$i]' AND time > DATE_SUB(NOW(), INTERVAL 1 HOUR)");

相关问题