2017-06-15 54 views
-1

我一定要得到它的ID的用戶的數據和數據將在Android usind改造中使用,我的PHP的Web服務是Web服務不發送正確的響應

<?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); 
?> 

我的改裝服務

@FormUrlEncoded 
    @POST("/getUserDetailsById.php") 
    Call<User> getUserDetail(@Field("id") int id); 
在我的活動

我已經

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()); 
      } 
     }); 

在該行

Log.e("PREF_ID", " is " + uid); 

我得到正確的id值,但無法從服務器獲取數據總是變爲空作爲respnse.body(),想知道如何獲取特定用戶的數據使用其id。

+0

您是否驗證過返回的狀態碼?是200Ok? – Sanoop

+0

您在控制檯中看到什麼錯誤? –

+0

嘗試在_Postman_和越來越__500內部服務器錯誤_狀態 –

回答

0

那麼問題是您使用的是不同的變量來創建,也該行你錯過;

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

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

但你正在查詢使用$conn這是不是創建,你應該使用的是

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

您沒有使用;來完成聲明,這就是爲什麼你會收到錯誤。

$query = mysqli_query($con, $sql)

請查看以上線,並把;最後