来自 odbc 连接的数组中的 array_push 不起作用

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

我有这个 data.php 文件,它必须使用从 ODBC 连接到 MDB Msaccess 文件的查询结果填充数组。

<?php

header('Content-Type: application/json');

$con = odbc_connect('MyDB','','pass');


if (!($con))
{
echo "Failed to connect to DataBase: " ;
}else
 {
 $data_points = array();

        $result =odbc_exec($con, "SELECT  CategoryName , Sum(DetalleFacturasA.P_NETO) AS Total, Periodo
    FROM TheTable
 GROUP BY month(FacturasA.Fecha), year(FacturasA.Fecha), CategoryName;");

while(odbc_fetch_row($result))
{        
    $NameVal= odbc_result($result,1) ;

    $YVal=odbc_result($result,2);

    array_push($data_points,array( "y" => $YVal ,"label" => $NameVal));        
}

echo json_encode($data_points, JSON_NUMERIC_CHECK);

}
odbc_close($con);

?>

问题是,如果我使用第一个字段是字符串类型字段中的名称,则无法获取 Json。但如果我使用最后一个字段,它就像一个魅力。

我尝试:

 $point = array("label" => odbc_result($result,['CategoryName']) , "y" => 
 odbc_result($result,"Total"));

但也不起作用

php arrays json string odbc
1个回答
0
投票

我在 while 内的变量中添加了“utf8_encode”。

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