PHP MYSQL显示结果,其中日期是今天的日期

时间:2014-02-10 16:53:04

标签: php mysql sql

$today = CURDATE();
$result = mysqli_query($con,"SELECT * FROM Persons WHERE Day ='"$today"'");

列是: 名称

时间
注册

来自人的精选*工作正常。

3 个答案:

答案 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'");