繁体   English   中英

日期条件SQL查询

[英]sql query with condition on date

我有一个简单的问题。 我想在Mysql表上执行查询,以选择在特定日期之后发布的帖子,但是我无法通过将该日期设置为PHP变量来使其正常工作。

以下查询不返回任何内容:

$reqsql = "SELECT * FROM posts WHERE post_date <= " . $from_date;

“ post_date”字段设置为日期时间。 我已经尝试了$ from_date PHP变量格式的所有内容:

$from_date = date();
$from_date = date('Y-m-d-H-i-s');
$from_date = date('Y-m-d H:i:s');
$from_date = strtodate("now");

这些都不起作用...

但是,如果我将基本的Mysql日期设置为:

$reqsql = "SELECT * FROM posts WHERE post_date <= NOW()";

任何想法? 谢谢!

您可能只需要将$from_date括在单引号中。

$reqsql = "SELECT * FROM posts WHERE post_date <= '" . $from_date ."'";

您需要像查询中的其他任何字符串一样使用日期:

$reqsql = "SELECT * FROM posts WHERE post_date <= '" . $from_date . "'";

将日期放在引号之间:

$reqsql = "SELECT * FROM posts WHERE post_date <= '" . $from_date . "'";

首先,如果要检查特定日期之后的帖子,请使用>=

另外,您可能想查看MySQL中的解析日期

您可以使用time()以UNIX时间格式传递PHP中的日期,然后在SQL查询中对其运行FROM_UNIXTIME()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM