Вот ситуация:Сохранить MySQL запросов в PHP массив
У меня есть этот массив в 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? Поскольку, по-видимому, душа, которую я пытаюсь сейчас, не работает.
Только реализация этого. Благодарю. Не могу поверить, что я не думал об этом легком обходном пути. Как только я смогу отметить ответ, сделаю. Благодаря! – codeninja