了解数据库表的JSON输出

时间:2013-11-15 23:11:03

标签: php mysql sql database json

我是JSON的新手,我正在编写一个PHP脚本,将来自远程MySQL数据库的所有数据导入到ios sqlite数据库。我的计划是从每个数据库中获取所有表并将其发送到另一个数据库并检查rowid是否在正确的表中,如果是,则将其丢弃,如果不将其添加到该数据库,基本上添加任何行都不是t在数据库中。

我正在尝试从远程MySql服务器读取我的JSON输出,我不太了解它,也找不到任何好的资源。 对于我的登录表,我这样拉:

$query = "SELECT * from answers";
$result = $this->db->query($query) or die('Errant query:  '.$query);

$answers = array();
$answers=mysqli_fetch_array($result);
header('Content-type: application/json');
echo json_encode(array(
'login'=>$login,
'answers'=>$answers,
'projects'=>$projects,
'questions'=>$questions,
'surveys'=>$surveys,
 ));

然后当我读取它为登录表显示的输出时:

  {"login":{"0":"1","userid":"1","1":"test","password":"test","2":"1","aclevel":"1"},

登录表有三列:userid,password和aclevel。填写此表分别为1,test,1。

有人可以向我解释一下JSON的输出意味着什么吗?

1 个答案:

答案 0 :(得分:1)

请参阅mysql_fetch_array的文档。

如果缺少第二个参数,它将返回一个包含数字和字段索引的数组。这会生成如下数组:

array (
    'field1' => value1,
    0 => value1,
    'field2' => value2,
    1 => value2,
    ...
)

使用:

mysql_fetch_array($result, MYSQL_ASSOC);
// OR...
mysql_fetch_assoc($result);

检索数据并查看会发生什么。