选择一个月内的所有日期

时间:2012-02-25 13:41:42

标签: php mysql date

  

可能重复:
  mysql_fetch_array() expects parameter 1 to be resource, boolean given in select

我正在尝试构建一个MySQL查询,该查询在一个月内选择所有活动。到目前为止,我有这个:

public static function allMonthlyActivities($db, $startdate, $enddate) {
        $sql = "SELECT shortdate FROM calendar WHERE date >= $startdate and <= $enddate";
        $result = $db->listing($sql);
        return $result;
}

执行此操作的PHP是:

$list = Calendar::allMonthlyActivities($_DB, '2013-02-01', '2013-02-25');

但由于某种原因,我收到了这个错误:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in... 

这是我的数据库结构:

如何正确地将日期(哪种格式)传递给我的SQL语句,以便所有1个月的日期都返回?

编辑 - 这是我的listing功能

public function listing($sql) {
    $result = mysql_query($sql, $this->_connection);
    while($row=mysql_fetch_array($result)) {
      $return[] = $row;
    }
    return $return;
  }

2 个答案:

答案 0 :(得分:2)

我怀疑您的查询中有错误,请更改此信息:

$result = mysql_query($sql, $this->_connection);

要:

$result = mysql_query($sql, $this->_connection) or die(mysql_error());

shortDate的数据类型为varchar,请尝试将其更改为date以查看问题是否已解决。

同样date是保留关键字,请使用反引号字符,例如`

答案 1 :(得分:0)

您确定您有一个名为date的列,因为MySQL有DATE作为关键字。很可能你的查询错了。