微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从SQL Server中检索数据并将其转换为json格式?

我正在使用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中编程使其更具确定性?

在Windows上与国际名称PHP文件

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] 举报,一经查实,本站将立刻删除。

相关推荐