【发布时间】:2014-02-25 00:56:56
【问题描述】:
我正在尝试通过 PHP 将来自 Mysql 数据库的数据编码为 JSON 格式。代码段如下:
try
{
$statement = $db->prepare($query);
$result = $statement->execute($query_params);
$rows = $statement->fetchAll();
echo print_r($rows)."<br/>";
foreach($rows as $row)
{
foreach($row as $a)
{
$studentInfo = array();
$studentInfo["course"] = $a["coursename"];
$studentInfo["grade"] = $a["grade"];
array_push($response['info'], $studentInfo);
}
}
echo json_encode($response);
}
但我无法将此数组编码为 JSON。
print_r($rows) 打印以下内容:
Array (
[0] => Array (
[id] => 22222
[coursename] => sp1
[grade] => B
)
[1] => Array (
[id] => 22222
[coursename] => sw1
[grade] => A-
)
[2] => Array (
[id] => 22222
[coursename] => sw2
[grade] => B+
)
)
1
并且 echo json_encode($response) 打印以下内容:
{"info":null}
谁能告诉我如何将此数组解析为 JSON? 我想以 JSON 格式获取每门课程及其成绩。
【问题讨论】:
-
去掉内循环。
$row包含您要查找的内容,而不是$a -
或只是
json_encode(array('info'=>$rows))来自您原来的$rows... 不需要 任何 循环.. -
感谢数据。去掉内循环解决了这个问题!!!