如何使用json_encode(从数据库PHP数组)导致

问题描述:

嗨,我有名字Users表有这些列解决这个问题:如何使用json_encode(从数据库PHP数组)导致

UserId INT 
DisplayName VARCHAR(50) 
Username VARCHAR(50) 
Password VARCHAR(50) 

我从这个表中的记录与mysqli的(mysqli_querymysqli_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_arrayMYSQLI_ASSOC获取关联数组:

$user = mysql_fetch_array($result, MYSQLI_ASSOC); 

或使用该mysqli_fetch_assoc获取关联数组:

$user = mysqli_fetch_assoc($result); 

使用mysqli_fetch_assoc()

$users=array(); 
while($user=mysqli_fetch_assoc($result) 
    $users=array("User"=>$user); 
echo json_encode(array("Users"=>$users)); 

顺便说一下你的代码似乎有点过。你确定你只想让这种格式的单个用户返回吗?