【发布时间】:2014-06-28 04:44:23
【问题描述】:
情况如下:
我在 PHP 中有这个数组,它旨在保留查询结果中的数据:
$returnData = array(
'ID' => '',
'NAME' => '',
'DESCRIPTION' => '',
'STATUS' => '',
'STATUS_DESCRIPTION' => '',
'LOCATION' => '',
'_ERROR' => ''
);
稍后我会执行一个查询来填充这个数组:
$fetchResourceQuery = sprintf('SELECT RESOURCEID, RESOURCENAME, RESOURCEDESCRIPTION,
T3.RESOURCELOCATIONNAME, T2.RESOURCESTATUSNAME,
T2.RESOURCESTATUSDESCRIPTION
FROM resource T1
JOIN resource_status T2
ON T1.RESOURCESTATUSID = T2.RESOURCESTATUSID
JOIN resource_location T3
ON T1.RESOURCELOCATIONID = T3.RESOURCELOCATIONID');
$resultSet = $DB->query($fetchResourceQuery);
if($resultSet){
while($row = $resultSet->fetch_assoc()){
$returnData['ID'] = $row['RESOURCEID'];
$returnData['NAME'] = $row['RESOURCENAME'];
$returnData['DESCRIPTION'] = $row['RESOURCEDESCRIPTION'];
$returnData['STATUS'] = $row['RESOURCESTATUSNAME'];
$returnData['STATUS_DESCRIPTION'] = $row['RESOURCESTATUSDESCRIPTION'];
$returnData['LOCATION'] = $row['RESOURCELOCATIONNAME'];
}
$json_data = json_encode($returnData, JSON_UNESCAPED_SLASHES);
echo $json_data;
}
到目前为止,这很好。问题是,我认为在保存的数据中只有一个循环,然后由于某种原因它覆盖了数组内部,输出是这样的:
{"ID":"456","NAME":"Rack con Televisor #1","DESCRIPTION":"Televisor Sharp Aquos con Laptop, armado en 2011.","STATUS":"Active","STATUS_DESCRIPTION":"Can be reserved.","LOCATION":"First Floor, High School","_ERROR":""}
这很糟糕,因为数据库中有 5 个资源,并且只存储了其中一个。
如何让数组像 josn 对象一样存储多个值?因为显然我现在正在尝试的灵魂是行不通的。
【问题讨论】: