PHP Mysql PDO 按日期范围检索记录

PHP Mysql PDO retrieve records by date range

我正在使用 PDO 方法从我的数据库中检索项目列表,当我这样做时:

$select['from'] = date('Y-m-d 00:00:00',strtotime("2016-02-01"));
$sql = "SELECT * FROM listings WHERE date_added >= :date AND date_added < DATE_ADD(:date, INTERVAL 30 DAY)";
$statement = $pdo->prepare($sql);
$statement->bindParam(":date", $select['from'], PDO::PARAM_STR);
$statement->execute();

var_dump 我的结果是:

object(stdClass)#5 (2) { ["data"]=> array(0) { } ["rows"]=> int(0) }

运行 同样的查询直接通过 PhpMyAdmin 给出了想要的结果。 date_added 是数据类型 DATETIME

这可能是您的日期格式问题。 您必须在 PHP.

中使用格式 'Y-m-d H:i:s'
$date = date('Y-m-d H:i:s', strtotime($yourdate));