php json_编码工作不正常(每行添加0)

php json_编码工作不正常(每行添加0),php,mysql,json,Php,Mysql,Json,我有一个mysql表,它只有一个列c_名称。 当我回显这个json_编码的表的行时,它给出- [{0:服装、纺织品和配件,c_名称:服装、纺织品和配件},{0:汽车和运输,c_名称:汽车和运输},{0:电子,c_名称:电子},{0:机械、工业零件和工具,c_名称:机械、工业零件和工具},{0:礼品、运动和玩具,c_名称:礼品、运动和玩具}] 为什么每行都有0? 我不想要它 这是我的密码- $sql="SELECT * FROM categories"; $r=mysqli_query($con

我有一个mysql表,它只有一个列c_名称。 当我回显这个json_编码的表的行时,它给出- [{0:服装、纺织品和配件,c_名称:服装、纺织品和配件},{0:汽车和运输,c_名称:汽车和运输},{0:电子,c_名称:电子},{0:机械、工业零件和工具,c_名称:机械、工业零件和工具},{0:礼品、运动和玩具,c_名称:礼品、运动和玩具}]

为什么每行都有0? 我不想要它

这是我的密码-

$sql="SELECT * FROM categories";
$r=mysqli_query($con,$sql);

$rows = array();
if ($result=mysqli_query($con,$sql))
{
    // Fetch one and one row
    while($row = mysqli_fetch_array($r))
    {
        $rows[] = $row;
    }

    echo json_encode($rows);

    //Free result set
    mysqli_free_result($result);
}
else
{
    echo "Umm... Some internal error.";
}
有什么帮助吗

谢谢,

因为您使用了SQL对象的->获取方法。此方法返回两个值FETCH_ROW和FETCH_ASSOC。请在json编码之前打印变量,您将看到这一点

或者提供从SQL查询到json_编码的代码

使用mysqli_fetch_行或mysqli_fetch_assoc重放mysqli_fetch_数组


将mysqli_fetch_数组的第二个参数设置为mysqli_ASSOC:

默认值是MYSQLI_eath,它同时返回数值索引和命名索引


来源:

我们无法帮助您处理无法看到的代码。但我向您保证json_编码工作正常;你需要看看你传递给它的是什么。
while($row = mysqli_fetch_row($r))
{
    $rows[] = $row;
}

echo json_encode($rows);
// Fetch one and one row
while($row = mysqli_fetch_array($r, MYSQLI_ASSOC))
{
    $rows[] = $row;
}