警告:mysqli_fetch_assoc()期望参数1为mysqli_result,第101行给出null

时间:2014-09-16 14:27:47

标签: php mysqli

我不知道为什么我会收到此错误。第101行显示为:

$sql_apr_i="SELECT SUM(total) FROM invoices WHERE YEAR(date_added) = YEAR(CURDATE()) AND MONTH(date_added) = 06 AND estimate = 0 AND user_id = '$user_id'";
$data_apr_i = mysqli_query($connect_db,$sql_apr_i);
$april_invoice = mysqli_fetch_assoc($data_april_i);

我错误地得到了这个错误?

3 个答案:

答案 0 :(得分:3)

您传递给mysqli_fetch_assoc的变量名称错误。试试这个:

$sql_apr_i = "SELECT SUM(total) FROM invoices WHERE YEAR(date_added) = YEAR(CURDATE()) AND MONTH(date_added) = 06 AND estimate = 0 AND user_id = '$user_id'";  
$data_apr_i = mysqli_query($connect_db, $sql_apr_i);  
$april_invoice = mysqli_fetch_assoc($data_apr_i);

答案 1 :(得分:1)

更改

$sql_apr_i="SELECT SUM(total) FROM invoices WHERE YEAR(date_added) = YEAR(CURDATE()) AND MONTH(date_added) = 06 AND estimate = 0 AND user_id = '$user_id'";
$data_apr_i = mysqli_query($connect_db,$sql_apr_i);
$april_invoice = mysqli_fetch_assoc($data_april_i); // Look at the difference

为:

$sql_apr_i="SELECT SUM(total) AS totalSum FROM invoices WHERE YEAR(date_added) = YEAR(CURDATE()) AND MONTH(date_added) = 06 AND estimate = 0 AND user_id = '$user_id'";
$data_apr_i = mysqli_query($connect_db,$sql_apr_i);
$april_invoice = mysqli_fetch_assoc($data_apr_i); //Wrong variable here

已更新查询中存在错误

答案 2 :(得分:1)

我认为您需要为Sum添加别名,如下所示:

SELECT SUM(total) as TotalSum FROM invoices 
WHERE YEAR(date_added) = YEAR(CURDATE()) AND MONTH(date_added) = 06 AND estimate = 0 AND user_id = '$user_id'