-1

在名为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")."'")

但不幸的是,这对我不起作用......谁能给我一个小费,拜托,如何解决这个问题?

谢谢

4

1 回答 1

2

您将希望避免将日期列包装在函数中以便仍然能够利用索引。

如果您在列上设置了索引,这对于您的方案来说是最有效的方法date

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

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

于 2012-08-05T08:36:09.337 回答