我想从包含两列的数据库 (MyTable) 返回一个 JSON 对象 - ID (int) 和 Name (string)。
下面的脚本生成一个 JSON,如:
[{"ID":"0","Name":"John"},{"ID":"1","Name":"Doe"}]
您可以看到,ID 作为字符串返回。如何以将 ID 作为整数返回的方式完成它:
[{"ID":0,"Name":"John"},{"ID":1,"Name":"Doe"}]
我不想从 ODBC 读取和解析结果数组,因为我想使用通用查询,例如:
SELECT * FROM TableXXX
这是我的脚本:
//connection
$connstr = "Driver={SQL Server Native Client 10.0};Server=" . $this->server . ";Database=" . $this->database . ";";
$conn=odbc_connect($connstr, $this->user, $this->password);
if (!$conn) {exit("Connection Failed: " . $conn);}
//execute sql
$rs=odbc_exec($conn,"SELECT ID, Name FROM MyTable");
if (!$rs) {exit("Error in SQL");}
//retreive data into array
$data = array();
$i=0;
while( $row = odbc_fetch_array($rs) ) {
$data[$i] = $row;
$i++;
}
odbc_close($conn);
//output as json string
echo json_encode($data);