douci1196 2016-08-26 16:02
浏览 53
已采纳

MySQL表到JSON有奇怪的输出[重复]

This question already has an answer here:

I've this MySQL table:

TABLE `table1` (
  `ID` int(11) NOT NULL,
  `First` varchar(30) DEFAULT NULL,
  `Second` varchar(30) DEFAULT NULL,
)

And this PHP code that is used for query the table and encode its contents into a JSON object:

<?php
/* Connection stuffs*/

$query = " SELECT * FROM table1;";
$results = mysql_query($query);
$stuff = array();
    while($row = mysql_fetch_array($results))
        array_push($stuff,$row);
$ja = json_encode($stuff);
echo $ja;
?>

Now, the code is working but I get a strange output (I'm only posting one row for question's readability but the others are the same) :

{
    "0": "1",
    "ID": "1",
    "1": "ivh",
    "First": "ivh",
    "2": "gyt",
    "Second": "gyt"
}

My question is: Why echo $ja; doesn't print this?

{
        "ID": "1",
        "First": "ivh",
        "Second": "gyt"
    }

Where do "0","1","2" come from? Furthermore the "0" 's content is the same of ID, as well as 1-First and 2-Second. There kind of a relationship between the MySQL column number and the $ja contents.

I've also tried to use this query:

$query = " SELECT ID,First,Second FROM table1;";

But the results are the same. Could someone help me? Thanks!

</div>
  • 写回答

1条回答 默认 最新

  • drrrdo0802 2016-08-26 16:08
    关注

    Suggest you to use mysql_fetch_assoc() or mysql_fetch_array($results, MSSQL_ASSOC). It will return only columns instead of being duplicate

    $query = " SELECT * FROM table1;";
    $results = mysql_query($query);
    $stuff = array();
    while($row = mysql_fetch_array($results, MSSQL_ASSOC))
    {
        array_push($stuff,$row);
    }
    $ja = json_encode($stuff);
    echo $ja;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。