【问题标题】:php select datetime rangephp选择日期时间范围
【发布时间】:2011-02-24 22:50:14
【问题描述】:

我想使用 php 从 Mysql 中选择日期范围内的记录。 例如,我想选择日期范围(2011-02-23、2011-02-24)

$query = "select * from table where date_field between '2011-02-23' and '2011-02-24'";
mysql_query($query);

它不起作用。 那么,我应该使用什么正确的格式?

【问题讨论】:

  • 能否给出错误信息?该查询应该没问题,因此 php 和数据库之间可能存在许多错误。
  • 我检查了返回的变量类型。 $result = mysql_query($query)。它是布尔值。其实应该是资源。
  • 数据库中的 date_field 字段是什么格式?日期时间、日期、时间戳或时间?甚至是字符串或整数。我经常以 int 格式存储我的日期,因为它很容易对它们进行比较。

标签: php mysql date-range


【解决方案1】:
$query="select * from table where date_field >'2011-02-23' "
  ." and date_field<date_add('2011-02-24', interval 1 day)";

【讨论】:

    【解决方案2】:
    $query="select * from table where date_field > '2011-02-23' and date_field < '2011-02-24'";
    

    【讨论】:

    • 我试过这个。它也不起作用。返回的变量类型仍然是布尔值。 $result = mysql_query($query)。它应该是资源。
    • 嗯,好吧。我建议将来使用 try/catch 或 mysql_errno & mysql_error 来获取错误 # 和错误消息
    猜你喜欢
    • 2018-03-03
    • 2012-04-12
    • 2011-04-27
    • 2018-03-08
    • 1970-01-01
    • 2013-03-27
    • 1970-01-01
    • 2017-12-30
    相关资源
    最近更新 更多