如何使用json_encode(从数据库PHP数组)导致
问题描述:
嗨,我有名字Users
表有这些列解决这个问题:如何使用json_encode(从数据库PHP数组)导致
UserId INT
DisplayName VARCHAR(50)
Username VARCHAR(50)
Password VARCHAR(50)
我从这个表中的记录与mysqli的(mysqli_query
,mysqli_fetch_array
)像这样的:
$users=array();
while($user=mysqli_fetch_array($result)
$users=array("User"=>$user);
echo json_encode(array("Users"=>$users));
和json_encode的结果是:
{"users":{
"user":{
"0":"1",
"UserId":"1",
"1":"name",
"DisplayName":"name",
"2":"usernameTest",
"Username":"usernameTest",
"3":"passwordTest",
"Password":"passwordTest"
}
}}
但必须是:
{"users":{
"user":{
"UserId":"1",
"DisplayName":"name",
"Username":"usernameTest",
"Password":"passwordTest"
}
}}
答
要么告诉mysql_fetch_array
与MYSQLI_ASSOC
获取关联数组:
$user = mysql_fetch_array($result, MYSQLI_ASSOC);
或使用该mysqli_fetch_assoc
获取关联数组:
$user = mysqli_fetch_assoc($result);
答
$users=array();
while($user=mysqli_fetch_assoc($result)
$users=array("User"=>$user);
echo json_encode(array("Users"=>$users));
顺便说一下你的代码似乎有点过。你确定你只想让这种格式的单个用户返回吗?