[英]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.