У меня есть PHP-скрипт, который извлекает некоторые данные из моей базы данных, и я хочу закодировать его в json для обработки в моем приложении для Android. Я хочу, чтобы результаты были такими:json_encode в PHP не возвращает никаких результатов
{
"part": [
{
"partNo": "value",
"partName": "value",
"shortDesc": "value",
"longDesc": "value",
"image": "value"
},
{
"partNo": "value",
"partName": "value",
"shortDesc": "value",
"longDesc": "value",
"image": "value"
}
],
"success": 1
}
Я использую следующий PHP-скрипт.
// array for JSON response
$response = array();
// execute query based on specified user input
$result = mysql_query($sql) or die(mysql_error());
// check to see if results were found
if (mysql_num_rows($result) > 0) {
//create a part array in $response to hold the part details
$response['part'] = array();
while ($row = mysql_fetch_array($result)) {
//create an array for the part details
$part = array();
$part['partNo'] = $row['partNo'];
$part['partName'] = $row['partName'];
$part['shortDesc'] = $row['shortDesc'];
$part['longDesc'] = $row['longDesc'];
$part['image'] = "data:image/jpeg;base64,".base64_encode($row['image']);
// put the array results for a single part in $response
array_push($response['part'], $part);
}
// add the code for success to $response
$response['code'] = 1;
// and send it in json
echo(json_encode($response));
//print_r($response);
//print_r(json_encode($response));
} else {
//no results found
$response['code'] = 0;
$response['message'] = "No part found!";
echo json_encode($response);
}
?>
Я не получаю никакого ответа с echo (json_encode($response));
или print_r(json_encode($response));
. Но когда я делаю print_r($response);
, я получаю ответ!
Array ([part] => Array ([0] => Array ([partNo] => value [partName] => value [shortDesc] => value [longDesc] => value [image] => data:image/jpeg;base64,/9j/4QAYRXhpZgAAS.../9k=)) [code] => 1)
Может ли кто-нибудь пролить свет на это? Почему он не работает с json_encode?
Нет хорошо, это все та же. Только «print_r ($ response)» дает мне ответ. –
Это сработало, но теперь я получаю нулевые значения везде! '{" partNo ": null," partName ": null," shortDesc ": null," longDesc ": null}]," code ": 1} Array ( [part] = > Массив ( [0] => Массив ( [PARTNO] => [partName] => [shortDesc] => [longDesc] => ) ) [код] => 1 ) ')' Я также провел некоторое тестирование, предоставив несуществующую частьNo (для двойной проверки), а неудачный блок else выполняется, как предполагалось, с надлежащим json ответ. –
Возможно, они просто нулевые значения? – Arlind