我有一个用这些类型设置的表列:
Date_Time datetime PKppm2 intppm10 intaqi int
我使用的查询是
SELECT * FROM aqi_data where Date_Time = CURDATE()
这返回0条记录
<?php $chartQuery = "SELECT * FROM aqi_data where Date_Time = CURDATE()";
$chartQueryRecords = mysqli_query($con, $chartQuery);
while($row = mysqli_fetch_assoc($chartQueryRecords)){
echo "'".$row['Date_Time']."',".$row['aqi'].
",".$row['ppm2'].",".$row['ppm10']."],";
} ?>
有人能帮我吗?
您已经存储了DateTime,并且正在与date进行比较。一种方法是将数据转换为日期
<?php
$chartQuery = "SELECT * FROM aqi_data where CAST(Date_Time AS DATE) = CURDATE()";
$chartQueryRecords = mysqli_query($con, $chartQuery);
while($row = mysqli_fetch_assoc($chartQueryRecords)){
echo "'".$row['Date_Time']."',".$row['aqi'].
",".$row['ppm2'].",".$row['ppm10']."],";
} ?>
另一种更快的方法是将Date_Time与CURDATE和CURDATE+1DAY之间的范围进行比较。
"SELECT * FROM aqi_data where Date_Time >= CURDATE() and Date_Time < CURDATE()+1";
未测试