【发布时间】:2016-02-01 08:36:18
【问题描述】:
我是一名 .NET 开发人员,最近开始学习 php。我想使用 php 来创建基本的 API。但是,我真的找不到合适的方法。
这是我的示例代码
<?php
header('Access-Control-Allow-Origin: *');
$conn = sqlsrv_connect( "ip", array("Database"=>"dbnane", "UID"=>"uid", "PWD"=>"123456")) or die("Couldn't connect");
$arr = array();
if( $conn ) {
$result = sqlsrv_query($conn, "SELECT * FROM Table");
while( $obj = sqlsrv_fetch_object( $result )) {
$arr[] = $obj;
}
echo json_encode($arr);
}
sqlsrv_close($conn);
?>
我想将行作为对象放入数组中,并将该数组编码为 json。但是,这不会打印任何内容,并且我没有收到任何错误。我究竟做错了什么 ? 换句话说,我可以为请求的表创建一个数据传输对象/类并将其放入数组中。这可能可行,但如果可行,这种方法看起来更加动态和干净。
编辑:为了清楚起见,查询不会失败。我可以用
打印出值 while( $obj = sqlsrv_fetch_object( $result )) {
echo $obj->ColName ."<br/>";
}
谢谢
【问题讨论】:
-
您的查询可能失败。由于您根本不进行任何错误检测/处理,因此您盲目地假设您实际上 拥有 个对象,但情况可能并非如此。我建议您查看错误日志文件以了解原因。
-
@arkascha 查询不会失败。我可以使用
$obj->ColName获取里面的值。 -
你在while循环后试过
var_dump($arr);吗?它有输出吗? -
可能没有加载json扩展?但这也应该在日志文件中产生错误,您声称不会发生这种错误。奇怪的。那么剩下的就是你的输出了。 你输出到哪里?
-
可能json扩展没有加载,如果关闭则报错。
标签: php