【发布时间】:2020-09-22 12:42:22
【问题描述】:
我正在尝试通过命令FOR JSON AUTO 在 SQL SERVER 上获取 JSON 格式的输出
我需要在 SQL SERVER 上用 PHP 执行查询,然后将其输出为合法的 JSON。
我应该如何进行?
我通常使用下面的代码来生成 JSON,但是如果我需要获取 JSON 怎么办?
$key= $_GET['key'];
$date=$_GET['date'];
$brand=$_GET['brand'];
if ($key=="...")
{
$serverName = "XXX,YYYY"; // \\MSSQLSERVER";
$connectionOptions = [
"Database" => "db",
"UID" => "user",
"PWD" => 'xxxx'
];
$conn = sqlsrv_connect($serverName, $connectionOptions);
if ($conn === false) {
die(formatErrors(sqlsrv_errors()));
}
$tsql = "select * from admin_all.Datafeed FOR JSON AUTO;";
// Executes the query
$stmt = sqlsrv_query($conn, $tsql);
// Error handling
if ($stmt === false) {
die(formatErrors(sqlsrv_errors()));
}
$array = array();
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
$array[]=$row;
}
echo json_encode(array("data"=>array_values($array)));
sqlsrv_free_stmt($stmt);
sqlsrv_close($conn);
}
【问题讨论】:
标签: php json sql-server sqlsrv