通过php将mysql数据转换为json

通过php将mysql数据转换为json,php,json,Php,Json,我在while循环中使用json解码。每次它在.json文件中创建json代码时,它如下所示,我无法读取这个.json文件 [{"0":"2","id":"2","1":"avss","productname":"avss","2":"2920","price":"2920","3":"xasx","textarea":"xasx","4":"e3.jpg","name":"e3.jpg","5":"uploads\/e3.jpg","imagepath":"uploads\/e3.jpg"}]

我在while循环中使用json解码。每次它在.json文件中创建json代码时,它如下所示,我无法读取这个.json文件

[{"0":"2","id":"2","1":"avss","productname":"avss","2":"2920","price":"2920","3":"xasx","textarea":"xasx","4":"e3.jpg","name":"e3.jpg","5":"uploads\/e3.jpg","imagepath":"uploads\/e3.jpg"}]
我希望它是这样的

[
    {
        "id": 0,
        "name": "Item 0",
        "price": "$0"
    },
    {
        "id": 1,
        "name": "Item 1",
        "price": "$1"
    },
    {
        "id": 2,
        "name": "Item 2",
        "price": "$2"
    },
    {
        "id": 3,
        "name": "Item 3",
        "price": "$3"
    },
    {
        "id": 4,
        "name": "Item 4",
        "price": "$4"
    },
    {
        "id": 5,
        "name": "Item 5",
        "price": "$5"
    },
    {
        "id": 6,
        "name": "Item 6",
        "price": "$6"
    }
]
守则:

global $connection;
$sql = "SELECT * FROM `forms`";
$mq = mysqli_query($connection,$sql);

while($row = mysqli_fetch_array($mq)){
          echo '<div class="form-group"><img src="'.$row['imagepath'].'" alt="HTML5 Icon" style="width:250px;height:180px">&nbsp '.             
          $row['name']."".$row['price'].'</div>';



   $emparray = array(); 
   $emparray[] = $row;
   $fp = fopen('tables/data.json', 'w');
   $k= json_encode($emparray);

   fwrite($fp,$k);
   fclose($fp);
global$connection;
$sql=“从“表单”中选择*”;
$mq=mysqli\u查询($connection,$sql);
while($row=mysqli\u fetch\u数组($mq)){
回音' '。
$row['name']。“.$row['price']。”;
$emparray=array();
$emparray[]=$row;
$fp=fopen('tables/data.json','w');
$k=json_encode($emparray);
fwrite($fp,$k);
fclose($fp);
使用

while($row=mysqli\u fetch\u数组($mq,mysqli\u ASSOC)){

while($row=mysqli\u fetch\u assoc($mq)){

获取关联数组。默认情况下,
mysqli\u fetch\u数组
将获取关联索引和数字索引。

您的代码在哪里?与
匹配的
}
在哪里($row=mysqli\u fetch\u数组($mq)){
?您正在清空
$emparray()
每次在循环中。您应该在循环之前初始化它,添加到循环中的数组中,然后将其转换为JSON并在循环之后写入文件。这是简单的逻辑。