1

这是我的脚本:

$spending_period = time() - (30 * 24 * 60 * 60);
$spending_period = date('Y-m-d', $spending_period);
$monthly_income_query="SELECT amount FROM budget_items WHERE (date_code >= '$spending_period') && (type=='Income') ORDER BY date_code DESC";
$monthly_income_result=mysql_query($monthly_income_query);
while($monthly_income_scan=mysql_fetch_array($monthly_income_result)){
    if($montly_income_counter >=1){
        $monthly_income=$monthly_income + $monthly_income_scan['amount'];
        }
    }

我收到一个错误,指出 mysql_fetch_array() 不是有效的结果资源。

目标是仅获取budget_items 表中在过去30 天内出现date_code(使用DATE 类型)的项目。

有人有建议吗?

4

2 回答 2

0
  • 如果您的查询不适用于您的查询 - 您可能想在 mysql 控制台中使用一些示例日期进行尝试。
  • 如果返回数据,则尝试打印查询。我有一种预感,$spending_period变量可能无法正确插入到您的查询字符串中(尝试使用'{$spending_period}'而不是'$spending_period'.
于 2009-10-04T05:17:49.447 回答
0

您需要将日期格式化为强日期,并在 select 语句中使用 CAST 来接受该值作为日期值。

于 2009-10-04T05:48:01.853 回答