PHP,MYSQL - 如何根据日期获取行?

时间:2012-08-05 08:28:28

标签: php mysql date

在名为date的数据库列(tyupe int(11))中,我将日期存储为整数。然后,我有变量$day$month$year,我需要获取相应日期的所有行(代表变量$day$month$year)。

怎么做?

我试过这种方式:

mysql_query("SELECT id FROM persons WHERE DATE_FORMAT( `date` , '%Y-%m-%d' ) =
            '".date("$year-$month-$day")."'")

但不幸的是,这对我有用......请问有人给我一个提示,请问如何解决这个问题?

由于

1 个答案:

答案 0 :(得分:2)

您需要避免将日期列包装在函数中,以便仍能使用索引。

如果您在date列上设置了索引,则这是适用于您的方案的最有效方法:

$input_date = mktime(0, 0, 0, $month, $day, $year);
mysql_query("SELECT id FROM persons WHERE date = $input_date");

date列实际存储为实际DATE类型会更好。这样,您可以进行各种引人注目的日期比较和计算,否则您将无法使用简单的基于整数的unix时间戳。