我希望使用PHP将大量MySQL数据转换为JSON 。 我有20K及以上的记录,但我无法将MySQL数据转换为JSON。我想创建REST API,因此需要以JSON格式发送(响应)数据。
我试过这个但没有得到输出:
代码:
$query = mysql_query("SELECT table1.field1, table1,field2, table1.field3, table2.field4 FROM table1 LEFT JOIN table2 ON table1.field1 = table2.field1"); $result = array(); while($row = mysql_fetch_assoc($query)) { $result[] = array('Name' => $row["field1"], 'Last Name' => $row['field2'], 'country' => $row["field3"], 'location' => $row["field4"]); } echo json_encode($result);
答案 0 :(得分:1)
您的查询错误。将其更改为
SELECT table1.field1, table1.field2, table1.field3, table2.field4 FROM table1 LEFT JOIN table2 ON table1.field1 = table2.field1
需要table1.field2
而不是table1,field2
答案 1 :(得分:0)
你有mysql查询语法错误。 table1,field2
使用table1.field2
答案 2 :(得分:0)
除了您的查询错误,我假设您的问题只是输入错误,因为没有人将其列标记为field1,field2等。
您遇到的问题很可能是编码问题。尝试以下结果将结果编码为UTF8,并希望产生有效的JSON。
mysql_set_charset ("UTF8");
$query = mysql_query("SELECT table1.field1, table1field2, table1.field3, table2.field4 FROM table1 LEFT JOIN table2 ON table1.field1 = table2.field1");
$result = array();
while($row = mysql_fetch_assoc($query))
{
$result[] = array('Name' => $row["field1"], 'Last Name' => $row['field2'], 'country' => $row["field3"], 'location' => $row["field4"]);
}
echo json_encode($result);