在PHP中将mySQL数据库查询转换为JSON

时间:2016-08-01 20:21:54

标签: php mysql sql json

我使用以下代码连接到我的本地数据库并从表中查询结果。以下代码无法以JSON格式打印结果。有什么我想念的吗?谢谢你的帮助!

<?php

if (!$link = mysql_connect('localhost', 'root', 'root')) {
echo 'Could not connect to mysql';
exit;
}

if (!mysql_select_db('tm-charts', $link)) {
echo 'Could not select database';
exit;
}

$sql    = 'SELECT Name,status FROM Estimates';
$result = mysql_query($sql, $link);

if (!$result) {
echo "DB Error, could not query the database\n";
echo 'MySQL Error: ' . mysql_error();
exit;
}

$rows = array();

while ($row = mysql_fetch_assoc($result)) {
 $rows[] = $row;
 }

echo json_encode($rows);

?>

1 个答案:

答案 0 :(得分:0)

更正:您的评论表明您正在获取编码数组,但您没有以JSON格式接收它,要解决此问题,您必须先设置标题:

header('Content-Type: application/json; charset=utf-8');

在调用header函数之前没有输出是很重要的。不在php标签内的空行已经是输出(也在包含中)。

<小时/> 第二种可能性:某些单元格包含非法字符,然后json_encode失败。