我有一个类似以下的数据库表:
Col_1 | Datetime
test1 2015-12-19 09:00:00
test2 2015-12-18 12:30:00
test3 2015-12-19 10:00:00
test4 2015-12-19 16:45:00
我试图在查询中选择datetime
等于今天日期的所有结果,尽管当我简单地使用以下内容时:
$today = date("Y-m-d");
SELECT * FROM table WHERE datetime = '$today'
它似乎就是不起作用?如果我把时间加在$today
中,它只会选择那些等于确切当前时间的结果,这不是我想要的吗?
你知道我该怎么做吗?我甚至已经到了这个地步,这完全是愚蠢的(尽管我编码它的时候大约是凌晨3点):
$now = date("Y-m-d H:m:s", strtotime('midnight'));
$todays = date(strtotime('midnight'));
$take24hours = date("Y-m-d H:m:s", strtotime('-24 hours', $todays));
$results = mysqli_fetch_assoc(mysqli_query($conn, "SELECT * FROM table WHERE date_added > '$take24hours' AND date_added < '$now')"));
可以在sql事务中完全做到这一点(不需要php日期格式):
SELECT * FROM table WHERE date(`datetime`) = current_date;
CURDATE()将获取当前日期。
SELECT*FROM表,其中DATE(DATE)=CURDATE()