Я хочу напечатать текстовое представление пользователя, который выполнил процесс входа в Android, сначала я преобразовал данные в формат json в php, но когда я набираю database / show.php в части URL-адреса Android, textview печатается как ноль.
Код php:
$id=$_GET["id"];
$sql=$conn->prepare("SELECT id,name,surname,type FROM personel WHERE id='$id'");
$sql->execute();
$result=$sql->fetch(PDO::FETCH_ASSOC);
echo (json_encode($result));
Java-код:
final String url = "database/show.php";
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest
(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
if(response.equals("başarılı")) {
userId.setText(response.getString("id").toString());
userName.setText(response.getString("name"));
userSurname.setText(response.getString("surname"));
userType.setText(response.getString("type"));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), "error"+error, Toast.LENGTH_SHORT).show();
}
});
// Доступ к RequestQueue через ваш синглтон-класс.
MySingleton.getInstance (это) .addToRequestQueue (jsonObjectRequest);
Я вижу некоторые проблемы с вашим кодом:
1- Вы не пропустили ни одного идентификатора в вашем new JsonObjectRequest
Таким образом, ваш php-код не получает идентификатор, вероятно. (Должно быть final String url = "http://127.0.0.1/database/show.php?id=234";
)
2- Вы рассматривали $ id в своем запросе как строку. id обычно является целым числом. (должно быть WHERE id=$id
)
3- Результатом вашего запроса будет массив. Таким образом, ваш клиент получит JSONArray, а не JSONObject. (Должен быть response.getJSONObject(0).getString("id").toString()
)
4 — И что это if(response.equals("başarılı"))
? Сравнивая тип JSON со строковым типом?
У меня есть несколько предложений:
1. Вы вызываете базу данных, но идентификатор равен нулю. Почему бы вам не попробовать, например, database / show.php? Id = 2, и использовать все URL http //../ database / show.php? Id = 2
2. Пожалуйста, загрузите файл JSON, чтобы помочь вам немного больше