Php 在mysql中选择早于当前日期的行

Php 在mysql中选择早于当前日期的行,php,mysql,Php,Mysql,我有一个mysql表,其中包含开始和结束日期/时间字段 如何使用php仅选择比当前日期早的行 结束日期的格式是2009-11-25 08:01:00,字段类型是datetime,提供的时间戳和MySQL在同一时区,您可以与进行比较 从tbl中选择*WHERE date\u col

我有一个mysql表,其中包含开始和结束日期/时间字段

如何使用php仅选择比当前日期早的行


结束日期的格式是
2009-11-25 08:01:00
,字段类型是
datetime
,提供的时间戳和MySQL在同一时区,您可以与进行比较

从tbl中选择*WHERE date\u col
它可能看起来像:

$result = mysql_query('SELECT * FROM mytable WHERE datefield < NOW()');
if (! $result) { die(mysql_error()); }
while ($row = mysql_fetch_assoc($result)) {
    // handle contents of $row
}
mysql_free_result($result);
$result=mysql_query('SELECT*FROM mytable WHERE datefield
您的SQL查询类似于:

SELECT *
  FROM your_table t
 WHERE t.end-date < CURDATE()
选择*
从你的桌子上
其中t.end-date
支持各种同义词来获取当前日期-NOW(),SYSDATE()


参考资料:

只要你的时区不改变就行;例如夏令时。但是如果你头脑清醒,你会把你所有的服务器时钟设置成UTC。一个列名称中间的连字符肯定是一个灾难的处方。我同意-我忘了在匆忙中评论它,但它是由OP提供的列名。
SELECT *
  FROM your_table t
 WHERE t.end-date < CURDATE()