2017-06-15 4 views
-1

Senden Ich habe Daten eines Benutzers mit seiner ID zu erhalten und die Daten würden auf Android usind Nachrüstung verwendet werden, meine PHP-Web-Service istWeb-Service ist nicht korrekte Antwort

<?php 

    $con = mysqli_connect("localhost", "admin", "pwd", "api"); 
    $id = $_POST["id"]; 
    $sql= "SELECT * from users WHERE id = $id "; 
    $query = mysqli_query($conn, $sql) 
    $result= mysqli_fetch_array($query); 

    if ($result[0]>0) { 
     $json = array("name" => $result[1],"last_name" => $result[2], "email" => $result[3], "password" => $result[4], 
      "city" => $result[5], "address" => $result[6], "gender" => $result[7], "dob" => $result[8], "about" => $result[9], 
      "phone_number" => $result[10]); 

      header('content-type: application/json'); 
      echo json_encode($json); 
    } 
    else { 
    $json = array("result" => "null", "status" => "invalid data"); 

      header('content-type: application/json'); 
      echo json_encode($json); 
    } 


    mysqli_close($con); 
?> 

mein Retrofit-Service ist

@FormUrlEncoded 
    @POST("/getUserDetailsById.php") 
    Call<User> getUserDetail(@Field("id") int id); 

in meiner Aktivität ich habe

String uid = mLoginPreferences.getString(Constant.USER_ID, ""); 
     Log.e("PREF_ID", " is " + uid); 
mUserCall = mRestManager.getApiService().getUserDetail(Integer.valueOf(uid)); 
     mUserCall.enqueue(new Callback<User>() { 
      @Override 
      public void onResponse(Call<User> call, Response<User> response) { 
       User userDetails = response.body(); 

       if (userDetails.getEmail() != null){ 
        Log.e("RESPONSE_ID", " is " + userDetails.getName()); 
             } 
      } 

      @Override 
      public void onFailure(Call<User> call, Throwable t) { 
       Log.e("DETAILS_ERROR", " message is " + t.getMessage()); 
      } 
     }); 

an der Linie

Ich bekomme den richtigen ID-Wert, aber kann keine Daten zurück vom Server erhalten immer Null als respnse.body() erhalten, möchte wissen, wie ich Daten eines bestimmten Benutzers mit seiner ID erhalten kann.

+0

Haben Sie den Statuscode überprüft? ist es 200Ok? – Sanoop

+0

Welchen Fehler sehen Sie in der Konsole? –

+0

Versucht in _Postman_ und bekommen __500 Interner Server error__ status –

Antwort

0

Nun, die Frage ist, Sie eine andere Variable erstellt verwenden, und Sie verpassen auch ; in der Linie

$con = mysqli_connect("localhost", "admin", "pwd", "api"); 

$query = mysqli_query($conn, $sql); 

Aber Sie fragen mit $conn, die nicht erstellt wird, was Sie verwenden sollten, ist

$query = mysqli_query($con, $sql); 
0

Sie haben ; nicht verwendet, um die Aussage zu vervollständigen, deshalb erhalten Sie einen Fehler.

$query = mysqli_query($con, $sql)

Bitte überprüfen Sie oberhalb der Linie und setzen ; zuletzt

Verwandte Themen