2012-10-22 46 views
2

为什么JSON输出同时显示索引号和关联列表名?PHP mysql结果json_encode返回键和索引号

我只需要单纯的列名,如 “UID”

PHP代码

$res = $statement->fetchAll(); 
$records = array('Record'=>$posts); 
echo json_encode($records); 

JSON输出

{ 
    "Record":[ 
    { 
     "UID":"1001", 
     "0":"1001", 
     "NAME":"Robot2", 
     "1":"Robot2", 
     "EMAIL":"[email protected]", 
     "2":"[email protected]", 
     "GENDER":"f", 
     "3":"f" 
    }, 
    { 
     "UID":"1030", 
     "0":"1030", 
     "NAME":"Anna", 
     "1":"Anna", 
     "EMAIL":"[email protected]", 
     "2":"[email protected]", 
     "GENDER":"f", 
     "3":"f" 
    } 
    ] 
} 

感谢

回答

4

的默认获取风格是PDO::FETCH_BOTH,您需要将其设置为PDO::FETCH_ASSOC

$res = $statement->fetchAll(PDO::FETCH_ASSOC); 

或者你也可以通过设置默认DEFAULT_FETCH_MODE

$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); 

,那么你可以只是做$res = $statement->fetchAll();

+0

你们是快速触发... :-) – prodigitalson