2017-07-02 98 views
1

我有一个脚本查询我的数据库&构建谷歌图表。预计参数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

但它只是让我的整个页转到白色的,所以必须有有

+0

做一些调试...做$ Exec中的var_dump或print_r的。我猜它的回来是假的。您可以对此进行测试以确定您是否可以执行查询,但尝试查看原因。检查可能的返回值http://php.net/manual/en/mysqli.query.php – TimBrownlaw

+0

复制查询并将其执行到数据库,可能在查询中有错误 –

+0

该查询完美地工作和图表按预期呈现。我只是想解决这些错误。错误不影响功能:) – Kieran

回答

0

的错误更换

while($row = mysqli_fetch_array($exec)){ 

while($row = mysqli_fetch_array($exec, MYSQLI_ASSOC)){ 

请参阅 https://www.tutorialspoint.com/php/mysql_select_php.htm的细节

让我知道如果你需要更多帮助,

+0

谢谢你。不幸的是,这条线似乎阻止了图表的工作。它完美地工作,只是担心日志中存在错误。进行更改时出现错误“轴#0的数据列不能为字符串类型”。你知道这可能是什么吗? – Kieran

+0

对不起MYSQLI_ASSOC –

相关问题