PHP中的json_encode无法返回正确的结果

用户1079801

我试图将数据输入到具有CRUD操作的网格中,该网格称为Jquery JTable,但是Json从MYSQL表转换为JSON似乎存在某种错误,因为数据需要显示在表上看起来像这样:

{
    "Result":"OK",
    "Records":[
      {"PersonId":1,"Name":"Benjamin Button","Age":17,"RecordDate":"\/Date(1320259705710)\/"},
      {"PersonId":2,"Name":"Douglas Adams","Age":42,"RecordDate":"\/Date(1320259705710)\/"},
      {"PersonId":3,"Name":"Isaac Asimov","Age":26,"RecordDate":"\/Date(1320259705710)\/"},
      {"PersonId":4,"Name":"Thomas More","Age":65,"RecordDate":"\/Date(1320259705710)\/"}
    ]
}

但是,每当我json_encode在php中实现该功能时,它都会给我以下信息:

{
    "Result":"OK",
    "Records":[
        {"0":"1","PersonId":"1","1":"Benjamin Button","Name":"Benjamin Button","2":"17","Age":"17","3":"2011-12-27 00:00:00","RecordDate":"2011-12-27 00:00:00"},
        {"0":"2","PersonId":"2","1":"Douglas Adams","Name":"Douglas Adams","2":"42","Age":"42","3":"2011-12-26 00:00:00","RecordDate":"2011-12-26 00:00:00"},
        {"0":"3","PersonId":"3","1":"Isaac Asimov","Name":"Isaac Asimov","2":"26","Age":"26","3":"2011-12-28 00:00:00","RecordDate":"2011-12-28 00:00:00"},
        {"0":"4","PersonId":"4","1":"Thomas More","Name":"Thomas More","2":"61","Age":"61","3":"2011-12-27 00:00:00","RecordDate":"2011-12-27 00:00:00"},
        {"0":"5","PersonId":"5","1":"Ihsan Oktay Anar","Name":"Ihsan Oktay Anar","2":"44","Age":"44","3":"2012-01-03 20:55:02","RecordDate":"2012-01-03 20:55:02"}
    ]
}

这是我的PHP代码:

<?php

//Get records from database
$result = mysqli_query($conn, "SELECT * FROM people;");

//Add all records to an array
$rows = array();
while($row = mysqli_fetch_array($result))
{
    $rows[] = $row;
}

//Return result to jTable
$jTableResult = array();
$jTableResult['Result'] = "OK";
$jTableResult['Records'] = $rows;
print json_encode($jTableResult);

?>

该表被称为人,它有四个字段:personIdNameAgeRecordDate

任何想法将不胜感激。

泰米尔

您可能想尝试该mysqli_fetch_assoc()功能。

因为根据PHP文档有关mysqli_fetch_array()

获取结果行作为关联数组,数字数组或两者兼而有之

这就是您现在使用代码所经历的,因为默认的获取模式是MYSQLI_BOTH

... "1":"Benjamin Button","Name":"Benjamin Button" ...

您也可以使用,mysqli_fetch_array()但必须先调整获取模式:

mysqli_fetch_array($result, MYSQLI_ASSOC);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP json_encode无法部分处理数组

来自分类Dev

当数组在php中为空时,json_encode函数不返回大括号{}

来自分类Dev

PHP jQuery json_encode

来自分类Dev

json_encode()返回false

来自分类Dev

json_encode()无法返回html

来自分类Dev

json_encode返回一个PHP数组

来自分类Dev

PHP中的json_encode不返回任何结果

来自分类Dev

使用json_encode()从PHP返回的Json对象,但是我的JavaScript中无效的json对象

来自分类Dev

json_encode返回&quot;

来自分类Dev

PHP json_encode返回null

来自分类Dev

PHP回声json_encode

来自分类Dev

PHP函数json_encode返回false?

来自分类Dev

在不同的环境中,SimpleXMLELement的PHP json_encode给出不同的结果

来自分类Dev

为什么PHP json_encode不能从传入的数组中返回正确的值?

来自分类Dev

格式正确的json_encode

来自分类Dev

php数组中的json_encode:如何调整php以使数组正确?

来自分类Dev

PHP json_encode产生错误的JSON结果。为什么?

来自分类Dev

json_encode()无法返回html

来自分类Dev

PHP中的json_encode方法

来自分类Dev

PHP json_encode失败

来自分类Dev

jQuery无法正确读取PHP json_encode()函数

来自分类Dev

json_encode结果中的多余字符

来自分类Dev

PHP如何从rrd_xport()返回json_encode()?

来自分类Dev

json_encode返回不确定的结果,数组或对象

来自分类Dev

js中的php json_encode返回不良结果

来自分类Dev

PHP json_encode返回空结构

来自分类Dev

PHP json_encode mysql结果以特定方式

来自分类Dev

无法读取json_encode

来自分类Dev

在php中使用json_encode获取数组数组中的查询结果