将PHP数组从mysql转换为JSON格式

时间:2017-07-01 10:34:09

标签: php mysql arrays json

我正在尝试将结果数组从Mysql转换为JSON格式,格式似乎不正确,每个对象之间缺少逗号。请指教,谢谢。

我知道我在这里使用了已弃用的php版本。

$result = mysql_query("SELECT * FROM patientvaccinedetail")or 
die(mysql_error());

while($row = mysql_fetch_array( $result,MYSQL_ASSOC)) {


 $specific = ["message" => $row["message"],
              "mobile" => $row["mobile"]];

             print_r (json_encode($specific)); 
}

当前结果:

{"message":"hello","mobile":"12345678"}{"message":"hi","mobile":"87878965"}

期望的结果:

{"message":"hello","mobile":"12345678"}, {"message":"hi","mobile":"87878965"}

2 个答案:

答案 0 :(得分:4)

你必须使用数组,在循环结束时你必须回显结果

$specific = array();
while($row = mysql_fetch_array( $result,MYSQL_ASSOC)) {
     $specific[] = ["message" => $row["message"],
                  "mobile" => $row["mobile"]];
}
echo json_encode($specific); 

答案 1 :(得分:0)

请将json_encode()移到while循环之外。

$specific = array();
while($row = mysql_fetch_array( $result,MYSQL_ASSOC)) {
 $specific = ["message" => $row["message"],
              "mobile" => $row["mobile"]];          
}
print_r(json_encode($specific));