Ich schreibe eine einfache Android-Anwendung mit Volley. Ich möchte wissen, wie man einen Vornamen und einen Nachnamen von der MySQL Datenbank durch Identifikation, auswählt, die Benutzer in editText in Anwendung eintragen. Das ist mein PHP-Skript:Android Volley: Wählen Sie Daten aus der MySQL-Datenbank nach ID vom Benutzer
<?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);
?>
Wenn ich die ID im Code angegeben, eine Daten in JSON zurückgibt, was ich verlange, so das Skript und die Datenbank sind ok. Die Antwort, die ich für $ id bekommen = 1:
{"users":[{"firstName":"Jonash","lastName":"Corvin"}]}
Und dies ist mein Code von 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);
Leider hat es nichts tun ... Es tut auch nicht zeige irgendeinen Fehler oder eine Toast-Nachricht an. Weißt du, wie man es repariert?
Bitte teilen Sie Ihre JSON Antwort, die Sie bekommen. – jagapathi
Ich habe hinzugefügt. Es gab einen kleinen Fehler im Variablennamen (ich habe die Namen in Eile für mehr Klarheit geändert), aber es ist kein Grund. – Corgan
Ihr JSON Parsing ist falsch. @Corgan – jagapathi