Php MySQL表到JSON,输出奇怪
我有一个MySQL表: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($
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;