如果在MySQL中将birthdate存储为"Date"类型,那么您如何确定它今天是用户在PHP中的生日?

Pro*_*irl 2 php mysql sql date

如果在MySQL中将birthdate存储为"Date"类型,那么您如何在PHP中确定它是否是特定用户今天的生日?

这只是抓住生日列值,在爆炸上进行-,然后检查日期和月份是否与PHP当前日期和月份相匹配?或者是否有更简单,更粗糙的方式呢?

此外,您对今天生日的SELECT 所有用户使用什么查询?

ses*_*ser 16

由于您需要排除年份,因此可以使用MONTHDAYSQL函数类似:

SELECT * FROM table WHERE MONTH(birthday) = MONTH(NOW()) AND DAY(birthday) = DAY(NOW());
Run Code Online (Sandbox Code Playgroud)

不要忘记在此列上添加索引,否则会在数据增长时严重降低性能.

在PHP中,您只需使用日期函数:

if (date('m-d', strtotime($row['date'])) == date('m-d'))
    //-- Today is my birthday! Hooray!
Run Code Online (Sandbox Code Playgroud)