我正在使用PHP 5.6.0并连接到我的本地sql Server。 我能够检索数据,但它是一个数组格式。 我想将其转换成json格式。
我得到:
( [date] => 2013-02-05 16:02:02.000000 [timezone_type] => 3 [timezone] => America/New_York )
我想要的是:
( "date" : "2013-02-05 16:02:02.000000","timezone_type" : "3","timezone" : "America/New_York" )
这是我的代码:
如何在Windows 7.0中编程使其更具确定性?
JVM崩溃,我不明白为什么
正确检测UNC卷是否在线
在Windows上构build期间,Eclipse CDT超过了32k CreateProcess限制
$sql = "SELECT * FROM table"; $stmt = sqlsrv_query($conn,$sql); $result = array(); do { while ($row = sqlsrv_fetch_array($stmt,sqlSRV_FETCH_ASSOC)){ $result[] = print_r($row); } } while (sqlsrv_next_result($stmt)); echo json_encode($result); sqlsrv_free_stmt($stmt); sqlsrv_close($conn);
我的理解是,json_encode应该转换我的数据,但似乎并没有这样工作。
谢谢!
Python:我怎样才能使ANSI转义代码也在Windows中工作?
C ++ CreateWindowEx返回NULL
全球自创的对象
读取远程计算机上的单个registry项值
如何在Windows上使用其他C ++编译器与CUDA?
$result[] = print_r($row);
您正在执行一个函数,并在数组中同时推送值。 你应该在这里推数组中的值。 喜欢
$result[] = $row;
第二个是在编码之后不打印JSON varibale。 所以你的代码是
$sql = "SELECT * FROM table"; $stmt = sqlsrv_query($conn,sqlSRV_FETCH_ASSOC)){ $result[] = $row; } } while (sqlsrv_next_result($stmt)); sqlsrv_free_stmt($stmt); sqlsrv_close($conn); //Close the connnectiokn first echo json_encode($result); //You will get the encoded array variable
你的逻辑是非常不正确的尝试这样的:
$sql = "SELECT * FROM table"; $stmt = sqlsrv_query($conn,$sql); $result = array(); while ($row = mssql_fetch_array($stmt)) { array_push($result,$row); } echo json_enconde($result); sqlsrv_free_stmt($stmt); sqlsrv_close($conn);
sql server 2016具有自动将结果集转换为JSON的FOR JSON子句请参阅使用FOR JSON格式化查询结果为JSON(sql server)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。