0

我试图弄清楚为什么我的查询不起作用。我正在尝试将每个月的所有金额加在一起status = 'S'。但是,我收到以下错误。有任何想法吗?

[05-Jul-2013 11:21:30 America/New_York] PHP Fatal error:  Cannot use object of type mysqli_result as array 

我的代码:

$closedsales = mysqli_query($mysqli, "SELECT MONTH(date) as month, sum(amount) as total FROM sales WHERE user_id = '".$userid."' AND status = 'S' GROUP BY MONTH(date)");

while ( $row = mysqli_fetch_row($closedsales) ) {
    $closedsales[$row['month']] = $row['total'];
}

更新:

$closedsales = mysqli_query($mysqli, "SELECT MONTH(date) as month, sum(amount) as total FROM sales WHERE user_id = '".$userid."' AND status = 'S' GROUP BY MONTH(date)");

while ( $row = mysqli_fetch_row($closedsales) ) {
    $monthlysales[$row['month']] = $row['total'];
}


foreach($monthlysales as $monthlysale) {
echo $monthlysale;
echo "This worked...";
}

谢谢!我摆脱了那个错误。但是,由于某种原因,我的数组不包含任何内容。它只会打印出来This worked...

这可能是因为我没有每个月都在数据库中吗?

4

1 回答 1

2

问题是分配:

$closedsales[$row['month']] = $row['total'];

$closedsales是返回的结果mysqli_query,它不是您可以分配给的数组。为此使用不同的变量。

于 2013-07-05T15:30:12.293 回答