java — Android Volley: выбор данных из базы данных MySQL по идентификатору, указанному пользователем

Я пишу простое приложение для Android, используя залп. Я хотел бы знать, как выбрать имя и фамилию из базы данных MySQL по идентификатору, какой пользователь входит в editText в приложении. Это мой PHP-скрипт:

 <?php
include 'connection.php';

global $connect;
$id = $_POST["id"];

$query = "SELECT firstName, lastName FROM users WHERE id = '$id'";

$result = mysqli_query($connect, $query);
$number_of_rows = mysqli_num_rows($result);

$response = array();

if($number_of_rows > 0) {
while($row = mysqli_fetch_assoc($result)) {
$response[] = $row;
}
}

header('Content-Type: application/json');
echo json_encode(array("users"=>$response));
mysqli_close($connect);

?>

Если я указал идентификатор в коде, он возвращает данные в формате JSON, которые мне требуются, поэтому сценарий и база данных в порядке. Ответ, который я получаю за $ id = 1:

{"users":[{"firstName":"Jonash","lastName":"Corvin"}]}

И это мой код StringRequest:

    StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONArray jsonArray = new JSONArray(response);
JSONObject jsonObject = jsonArray.getJSONObject(0);

String firstName = jsonObject.getString("firstName");
String lastName = jsonObject.getString("lastName");

firstNameTV.setText(firstName);
lastNameTV.setText(lastName);

} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this, "Something went wrong",Toast.LENGTH_LONG).show();
error.printStackTrace();
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> parameters = new HashMap<String, String>();
parameters.put("id", idEditText.getText().toString());
return parameters;
}
};
queue.add(stringRequest);

К сожалению, он ничего не делает … Он даже не показывает никаких сообщений об ошибках или тостах. Вы знаете, как это исправить?

4

Решение

{ «пользователи»: [{ «Имя»: «Jonash», «LastName»: «Корвин»}]}

В соответствии с данным JSON вам нужно проанализировать JSON следующим образом:

JSONObject jsonobject = new JSONObject(response);
JSONArray jsonarray = jsonobject.getJSONArray("users");
JSONObject data = jsonArray.getJSONObject(0);

String firstName = data.getString("firstName");
String lastName = data.getString("lastName");
4

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector