繁体   English   中英

php / json_encode NULL问题

[英]Php / json_encode NULL issues

早上好,

我已经阅读了其他类似问题的文章,但是没有什么可以解决这个问题,但是请记住,我是PHP和Json领域的新手。 但是我试图将mssql查询转换为json格式,以便以后可以通过Google的可视化api传递。 查询和编码似乎正常,但是编码返回NULL。

我检查了正常的陷阱,以确保其utf8编码,并且我使用了具有编码的PHP版本(使用php 5.3.19)。

谁能帮助我使编码正常工作。

PHP代码:

    <?php
// connection details known to be working fine

if( $conn ) {
echo "Connection established.<br><br>";
}else{
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}

$query = "SELECT * FROM tblMetalPrice";
$result = sqlsrv_query( $conn, $query);
while( $row = sqlsrv_fetch_array( $result, SQLSRV_FETCH_NUMERIC) );


$arr = array($result);
$encodedarray = array_map(utf8_encode, $arr);

echo json_encode($encodedarray);

sqlsrv_close( $conn);
?>

当我在服务器上运行此代码时,它会返回:

连接已建立。

[空值]

有没有人有任何想法让它工作?

谢谢

克里斯

我解决此问题的方法是:

$query = "SELECT * FROM tblMetalPrice";
$result = sqlsrv_query( $conn, $query);
while( $row = sqlsrv_fetch_array( $result, SQLSRV_FETCH_NUMERIC) )

{

$encodedarray = array_map(utf8_encode, $row);

echo json_encode($encodedarray);

}

尝试这个:

$query = "SELECT * FROM tblMetalPrice";
$result = sqlsrv_query( $conn, $query);
while( $row[] = sqlsrv_fetch_array( $result, SQLSRV_FETCH_NUMERIC) ); // Fetch and stor in array


$arr = array($row); // make parent array
$encodedarray = array_map(utf8_encode, $arr);

echo json_encode($encodedarray);

您已通过$ result,这是错误的。 $ row包含结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM