JSON不给我任何东西

问题描述 投票:0回答:1

[当我运行PHP代码时,根据我放入MySQL查询的过滤器,我的JSON不返回任何内容(如果我在数据库中执行相同的查询,则会带来结果)。有人能帮我吗?遵循PHP中的代码:

<?php
$datefrom = '2020-03-01';
$dateto = '2020-03-20';
$family = 'S145';
$dataPointsWorkmanship = array();
try {
    $link = new \PDO('mysql:host=10.33.59.101;dbname=quality;charset=utf8mb4', //'mysql:host=localhost;dbname=canvasjs_db;charset=utf8mb4',
            'root', //'root',
            '!QAZxsw2', //'',
            array(
        \PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
        \PDO::ATTR_PERSISTENT => false
            )
    );
    $handle = $link->prepare("SELECT 
    COUNT(*) AS y, defect_desc AS x
FROM
    quality.quality_metrics qm
WHERE
    qm.defect_type = 'WORKMANSHIP'
        AND qm.data_producao BETWEEN '" . $datefrom . "' AND '" . $dateto . "'
        AND qm.familia = '" . $family . "'
GROUP BY x;");


    $handle->execute();

    $result = $handle->fetchAll(\PDO::FETCH_OBJ);

    foreach ($result as $row) {
        array_push($dataPointsWorkmanship, array("label" => $row->x, "y" => $row->y)); //$row->y));
    }
    //$link = null;
} catch (\PDOException $ex) {
    print($ex->getMessage());
}
echo json_encode($dataPointsWorkmanship, JSON_NUMERIC_CHECK);
?>

因此,如果family变量是“ S145”,我的json不返回任何内容,但是例如,如果它是“ T480”,则它返回我需要构建图表的json。

php canvasjs
1个回答
0
投票

当json_encode失败时,它返回FALSE,并且您可以使用此函数读取错误

https://www.php.net/manual/en/function.json-last-error-msg.php

© www.soinside.com 2019 - 2024. All rights reserved.