数据库日期=今天的日期


database date = todays date

我正试图从今天插入的mySQL数据库中选择数据,但此查询正在工作,但返回0个结果。我的数据库中有一行应该返回。非常感谢您的帮助!谢谢

$sql="SELECT*FROM main_table WHERE DATE(DATE)=CURDATE()";

我建议,除非您需要毫秒信息,否则始终将日期信息存储在Unix时间戳中。它存储起来更轻,因为它只是一个整数值,检索起来更快,而且通用,因为它总是基于UTC。

特别是在PHP中,将日期信息转换为(time()strtotime)和从(date())转换为unix时间戳非常容易。这样,无论您的用户在哪里,您都可以在本地时间显示正确的信息,几乎不需要付出任何努力。

在您的情况下,您可以计算今天上午0点和下午12点的时间戳,然后在MySQL中查找:

$sql = "SELECT * FROM main_table WHERE `date`>{$dayStart}" AND `date`<{$dayEnd};

这实际上取决于main_tabledate列的实际数据类型、该列的定义方式以及该列中存储的内容。

如果该列是MySQL DATE数据类型,则

    WHERE date = DATE(NOW())

如果该列是DATETIMETIMESTAMP数据类型,则

    WHERE date >= DATE(NOW()) AND date < DATE(NOW()) + INTERVAL 1 DAY

如果该列是CHAR或VARCHAR,那么它取决于存储的实际值。如果存储格式为"mm/dd/yyyy",即两位数的月、两位数的日(以零开头)和四位数的年,用斜线分隔,则

    WHERE date = DATE_FORMAT(NOW(),'%m/%d/%Y')

您可以使用直接的mysql日期函数或php日期函数。。现在我正在使用php函数

$today = date('Y-m-d'); //To get the Current date as 2014-10-12
$sql = "SELECT * FROM main_table WHERE `date` = '$today'";

由于您的列名是date(与sql中的date函数相同),请使用date..``