可能重复:
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;
}
答案 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
作为关键字。很可能你的查询错了。