$today = CURDATE();
$result = mysqli_query($con,"SELECT * FROM Persons WHERE Day ='"$today"'");
列是:
名称
日
时间
注册
来自人的精选*工作正常。
答案 0 :(得分:2)
您应该能够在查询中指定当前日期(即无需在PHP中计算)。如果Web服务器和MySQL服务器具有不同的时区,这也可以为您提供更加一致的时间处理。
如果Day
是datetime或timestamp字段,请使用:
SELECT * FROM Persons WHERE Day LIKE CONCAT(CURRENT_DATE(),'%')
如果Day
是日期字段,请使用此字段:
SELECT * FROM Persons WHERE Day = CURRENT_DATE()
答案 1 :(得分:1)
如果day
是日期时间,请使用:
SELECT *
FROM Person
WHERE Day >= CURRENT_DATE and Day < CURRENT_DATE + interval 1 day;
使用like
作为日期是不好的做法,因为它需要将日期转换为字符串。这可以防止使用索引。
如果day
没有时间组件,则上述方法可行,但您可以将其简化为:
SELECT *
FROM Person
WHERE Day = CURRENT_DATE;
你也可以写:
SELECT *
FROM Person
WHERE date(Day) = CURRENT_DATE ;
(CURRENT_DATE
上的括号是可选的。)
答案 2 :(得分:0)
$today = CURDATE();
$result = mysqli_query($con,"SELECT * FROM Persons WHERE Day LIKE '$today'");