我有一个脚本查询我的数据库&构建谷歌图表。预计参数1是mysqli_result错误消息
它运作良好,我看不到任何问题。但是,错误日志显示了不同的故事。我得到的下面:
错误日志 mysqli_fetch_array()预计参数1被mysqli_result,零线186
的代码行中/var/www/html/header.php给出错误:
这是脚本。这是第186行: “while($ row = mysqli_fetch_array($ exec)){” - 大约在下面一半。
完整的脚本
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Date', 'Total Orders'],
<?php
$memberid = getLoggedMemberID();
$query = "SELECT date as complain_Date1, IFNULL(sum(count),0) as count
FROM (
SELECT Date_Closed as complain_Date1, count(id) as count
FROM Complaints
INNER JOIN membership_userrecords ON Complaints.id =
membership_userrecords.pkValue
where membership_userrecords.memberID = '$memberid' AND
membership_userrecords.tableName='Complaints' AND Date_Closed IS NOT
NULL
GROUP BY Date_Closed
) AS t
RIGHT JOIN dates ON t.complain_Date1 = dates.date
Where date between DATE_SUB(NOW(), INTERVAL 30 DAY) and CURRENT_DATE()
GROUP BY date
ORDER BY date asc";
$exec = mysqli_query($conn,$query);
while($row = mysqli_fetch_array($exec)){
echo "['".$row['complain_Date1']."',".$row['count']."],";
}
?>
]);
var options = {
'chartArea': {'width': '85%', 'height': '70%'},
legend: {position: 'none'},
colors: ['#2ab77e'],
is3D: true,
backgroundColor: { fill:'transparent' }
};
var chart = new google.visualization.AreaChart(document.getElementById("complaints"));
chart.draw(data, options);
}
</script>
任何人都可以avise我的问题是什么吗?
我已经试过这里的解决方案: error mysqli_fetch_array() expects parameter 1 to be mysqli_result, string given
但它只是让我的整个页转到白色的,所以必须有有
做一些调试...做$ Exec中的var_dump或print_r的。我猜它的回来是假的。您可以对此进行测试以确定您是否可以执行查询,但尝试查看原因。检查可能的返回值http://php.net/manual/en/mysqli.query.php – TimBrownlaw
复制查询并将其执行到数据库,可能在查询中有错误 –
该查询完美地工作和图表按预期呈现。我只是想解决这些错误。错误不影响功能:) – Kieran