Я не могу получить массив из базы данных MySQL (имя, фамилия и возраст). Мой веб-сервис работает, но я не получаю никакого ответа в приложении для Android.
Это мой php файл:
<?php
if($_SERVER["REQUEST_METHOD"]=="POST"){
include 'connection.php';
showStudent();
}
function showStudent()
{
global $connect;
$query = " Select * FROM demo; ";
$result = mysqli_query($connect, $query);
$number_of_rows = mysqli_num_rows($result);
$temp_array = array();
if($number_of_rows > 0) {
while ($row = mysqli_fetch_assoc($result)) {
$temp_array[] = $row;
}
}
header('Content-Type: application/json');
echo json_encode(array("demo"=>$temp_array));
mysqli_close($connect);
}
?>
Мой PHP генерирует массив JSON, я проверил его. Это мой проблемный JSONObjectRequest в приложении для Android:
public void onClick(View view) {
System.out.println("ww");
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST,
showUrl, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
System.out.println(response.toString());
try {
JSONArray demos = response.getJSONArray("demo");
for (int i = 0; i < demos.length(); i++) {
JSONObject demo = demos.getJSONObject(i);
String firstname = demo.getString("name");
String lastname = demo.getString("lastname");
String age = demo.getString("age");
tvResult.append(firstname + " " + lastname + " " + age + " \n");
}
tvResult.append("===\n");
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
System.out.append(error.getMessage());
}
});
requestQueue.add(jsonObjectRequest);
Любая помощь приветствуется, я не нашел никаких решений. Я предполагаю, что этот обнуляемый параметр не работает, но если я уберу его, я получу кучу ошибок.
Задача ещё не решена.
Других решений пока нет …