Php MYSQLI_查询不返回值

Php MYSQLI_查询不返回值,php,mysqli,Php,Mysqli,我正在试图弄清楚为什么我的查询不起作用。我试图将每个月的所有金额相加,其中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, s

我正在试图弄清楚为什么我的查询不起作用。我试图将每个月的所有金额相加,其中
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...";
}
谢谢!我消除了那个错误。但是,由于某些原因,我的数组不包含任何内容。它只打印出
这个工作…


这是否可能是因为我在DB中没有每个月的作业?

问题在于作业:

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

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

哇,非常感谢!我从来不知道我不能给它重新赋值。多么简单的解决方案啊。谢谢你,伙计!我将在10分钟内接受答案。如果您重新分配变量,您认为下一次的
mysqli\u fetch\u row($closedsales)
迭代将如何工作?哦,从现在起这就完美了。谢谢你的解释!我现在觉得自己很笨。我注意到我的数组是空的。这可能是我在DB中没有的每个月的b/c吗?如上所述,应该使数组为空,这些月份根本不在数组中。好的,谢谢!由于
foreach
只循环一次,所以需要调试它。再次感谢主修复!