首页 > 解决方案 > 调用数组时出错:给定的每一行必须为空或数组

问题描述

我正在尝试将数组从data.php文件调用到 javascript 文件script.js,并且我正在使用此方法$.get,但出现此错误:Every row given must be either null or an array.

这是 data.php 中的代码:

<?php 
$servername = "localhost";
$database = " ";
$username = " ";
$password = " ";

$connect = mysqli_connect($servername, $username, $password, $database);
if (!$connect) {
    die("Connection failed: " . mysqli_connect_error());
}
$query = 'SELECT * FROM climate';

$result = mysqli_query($connect, $query);
?>

<?php 

if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        echo " 
             ['".$row['time']."',".$row['temp'].",".$row['hum']."],";
    }
}
?>

在 script.js 中:

function drawLineColors() {
    var data = new google.visualization.DataTable();
    data.addColumn('string', 'time');
    data.addColumn('number', 'Temperature');
    data.addColumn('number', 'Humidity');

    $.get("data.php", function(sensors){
        data.addRows([sensors]);
        let rowIndex = data.getNumberOfRows() - 1; //gets the row index of last row
        let lastTime = data.getValue(rowIndex, 0); //gets the first column
        let lastTemp = data.getValue(rowIndex, 1); //gets second column
        let lastHum = data.getValue(rowIndex,2); //gets third column

        $("#tempr > .content").html(lastTemp + " &deg;C");
        $("#humr > .content").text(lastHum + " %");

我想通过它调用数组data.addRows([sensors]);

标签: javascriptphparrays

解决方案


推荐阅读