Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过PHP将从MySQL获取的数据编码为JSON_Php_Mysql_Arrays_Json - Fatal编程技术网

如何通过PHP将从MySQL获取的数据编码为JSON

如何通过PHP将从MySQL获取的数据编码为JSON,php,mysql,arrays,json,Php,Mysql,Arrays,Json,我正在尝试通过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)

我正在尝试通过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);
}
echo
json\u encode($response)
打印以下内容:

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
{"info":null}
有人能告诉我如何将这个数组解析成JSON吗?
我想以JSON格式查看每门课程及其成绩。

我会这样做:

try {
    $statement = $db->prepare($query);
    $result = $statement->execute($query_params);
    if($result) {
        $arr = Array();
        while ($row = $result->fetch_assoc()) {
            $arr[] = $row;
        }
     echo json_encode($arr);
    }
}

我会这样做:

try {
    $statement = $db->prepare($query);
    $result = $statement->execute($query_params);
    if($result) {
        $arr = Array();
        while ($row = $result->fetch_assoc()) {
            $arr[] = $row;
        }
     echo json_encode($arr);
    }
}

我会这样做:

try {
    $statement = $db->prepare($query);
    $result = $statement->execute($query_params);
    if($result) {
        $arr = Array();
        while ($row = $result->fetch_assoc()) {
            $arr[] = $row;
        }
     echo json_encode($arr);
    }
}

我会这样做:

try {
    $statement = $db->prepare($query);
    $result = $statement->execute($query_params);
    if($result) {
        $arr = Array();
        while ($row = $result->fetch_assoc()) {
            $arr[] = $row;
        }
     echo json_encode($arr);
    }
}
试试看
{
$statement=$db->prepare($query);
$result=$statement->execute($query\u参数);
$rows=$statement->fetchAll();
回声打印($rows)。“
”; $response=array(); $info=array(); foreach($行作为$行) { $studentInfo=array(); $studentInfo[“id”]=$row[“id”]; $studentInfo[“课程”]=$row[“课程名称”]; $studentInfo[“年级”]=$row[“年级”]; 数组推送($info,$studentInfo); } $response['info']=$info; echo json_encode($response);//或echo json_encode($info);//任何您想要的 }
试试看
{
$statement=$db->prepare($query);
$result=$statement->execute($query\u参数);
$rows=$statement->fetchAll();
回声打印($rows)。“
”; $response=array(); $info=array(); foreach($行作为$行) { $studentInfo=array(); $studentInfo[“id”]=$row[“id”]; $studentInfo[“课程”]=$row[“课程名称”]; $studentInfo[“年级”]=$row[“年级”]; 数组推送($info,$studentInfo); } $response['info']=$info; echo json_encode($response);//或echo json_encode($info);//任何您想要的 }
试试看
{
$statement=$db->prepare($query);
$result=$statement->execute($query\u参数);
$rows=$statement->fetchAll();
回声打印($rows)。“
”; $response=array(); $info=array(); foreach($行作为$行) { $studentInfo=array(); $studentInfo[“id”]=$row[“id”]; $studentInfo[“课程”]=$row[“课程名称”]; $studentInfo[“年级”]=$row[“年级”]; 数组推送($info,$studentInfo); } $response['info']=$info; echo json_encode($response);//或echo json_encode($info);//任何您想要的 }
试试看
{
$statement=$db->prepare($query);
$result=$statement->execute($query\u参数);
$rows=$statement->fetchAll();
回声打印($rows)。“
”; $response=array(); $info=array(); foreach($行作为$行) { $studentInfo=array(); $studentInfo[“id”]=$row[“id”]; $studentInfo[“课程”]=$row[“课程名称”]; $studentInfo[“年级”]=$row[“年级”]; 数组推送($info,$studentInfo); } $response['info']=$info; echo json_encode($response);//或echo json_encode($info);//任何您想要的 }
json_encode()可以直接对数组进行编码

在代码行8,您可以这样做

echo json_encode($rows);
请点击此处查看更多信息


输出:
{“a”:1,“b”:2,“c”:3,“d”:4,“e”:5}

json_encode()可以直接对数组进行编码

在代码行8,您可以这样做

echo json_encode($rows);
请点击此处查看更多信息


输出:
{“a”:1,“b”:2,“c”:3,“d”:4,“e”:5}

json_encode()可以直接对数组进行编码

在代码行8,您可以这样做

echo json_encode($rows);
请点击此处查看更多信息


输出:
{“a”:1,“b”:2,“c”:3,“d”:4,“e”:5}

json_encode()可以直接对数组进行编码

在代码行8,您可以这样做

echo json_encode($rows);
请点击此处查看更多信息


输出:

{“a”:1,“b”:2,“c”:3,“d”:4,“e”:5}

移除内环
$row
包含您要查找的内容,而不是原始
$rows
中的
$a
或仅
json\u编码(数组('info'=>$rows))
。。。不需要任何循环..谢谢datasage。移除内环解决了这个问题!!!拆下内环
$row
包含您要查找的内容,而不是原始
$rows
中的
$a
或仅
json\u编码(数组('info'=>$rows))
。。。不需要任何循环..谢谢datasage。移除内环解决了这个问题!!!拆下内环
$row
包含您要查找的内容,而不是原始
$rows
中的
$a
或仅
json\u编码(数组('info'=>$rows))
。。。不需要任何循环..谢谢datasage。移除内环解决了这个问题!!!拆下内环
$row
包含您要查找的内容,而不是原始
$rows
中的
$a
或仅
json\u编码(数组('info'=>$rows))
。。。不需要任何循环..谢谢datasage。移除内环解决了这个问题!!!