Php MySQL表到JSON,输出奇怪

Php MySQL表到JSON,输出奇怪,php,json,Php,Json,我有一个MySQL表: TABLE `table1` ( `ID` int(11) NOT NULL, `First` varchar(30) DEFAULT NULL, `Second` varchar(30) DEFAULT NULL, ) 这段PHP代码用于查询表并将其内容编码为JSON对象: <?php /* Connection stuffs*/ $query = " SELECT * FROM table1;"; $results = mysql_query($

我有一个MySQL表:

TABLE `table1` (
  `ID` int(11) NOT NULL,
  `First` varchar(30) DEFAULT NULL,
  `Second` varchar(30) DEFAULT NULL,
)
这段PHP代码用于查询表并将其内容编码为JSON对象:

<?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;
?>
我的问题是:为什么
echo$ja不打印这个

{
        "ID": "1",
        "First": "ivh",
        "Second": "gyt"
    }
“0”、“1”、“2”来自哪里?此外,
“0”
的内容与
ID
以及
1-First
2-Second
相同。MySQL列号和
$ja
内容之间存在某种关系

我还尝试使用此查询:

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

但结果是一样的。有人能帮我吗?谢谢

建议您使用
mysql\u fetch\u assoc()
或。它将只返回列,而不是重复

$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;

在将$stuff数组转换为json之前,在$stuff数组中运行一个var_dump,并查看发生了什么情况。因此,请尝试mysql_fetch_数组,而不是mysql_fetch_数组,尝试mysql_fetch_assoc,这样您就可以保留列名,因为我的问题已标记为重复,而我一直在搜索,但没有找到任何关于此问题的信息@Phiter Fernandes感谢您的回复,我已经使用了mysql_fetch_assoc,现在它工作正常。我无法将您的评论标记为答案,因为我的问题已结束,对不起。谢谢你,伙计!是的,显然有人回答了。你先回答了,贴出来,我会标记的!谢谢
$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;