Почему не удается совместить код? Ответ PHP и Android

Это мой код Java

public void login() { try { httpclient = new DefaultHttpClient(); httppost = new HttpPost("http://192.168.0.104/rocket/assign_job.php"); // make sure the url is correct. //add your data nameValuePairs = new ArrayList<NameValuePair>(1); // Always use the same variable name for posting ie the android side variable name and php side variable name should be similar, //int smsNum = Integer.parseInt(smsCode.getText().toString()); nameValuePairs.add(new BasicNameValuePair("smsCode", smsCode));// $Edittext_value = $_POST['Edittext_value']; //nameValuePairs.add(new BasicNameValuePair("userName", rocketName)); Log.d("smsCode ===", smsCode); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); //Execute HTTP Post Request //response=httpclient.execute(httppost); ResponseHandler<String> responseHandler = new BasicResponseHandler(); final String response = httpclient.execute(httppost, responseHandler); runOnUiThread(new Runnable() { public void run() { Log.d("PHP Response: ", response); pDialog.dismiss(); } }); if (response.equalsIgnoreCase("success")) { runOnUiThread(new Runnable() { public void run() { Toast.makeText(UserPage.this, "Job Assigned", Toast.LENGTH_SHORT).show(); } }); } else { showAlert();//testing bitbuckettt } } catch (Exception e) { pDialog.dismiss(); System.out.println("Exception : " + e.getMessage()); } } 

Это мой код PHP:

 <?php // include db connect class require_once __DIR__ . '/db_connect.php'; // connecting to db $db = new DB_CONNECT(); if(isset($_POST['smsCode'])){ $smsCode = $_POST['smsCode']; $query_search = "SELECT * FROM confirmedrequest WHERE smsCode='".$smsCode."'"; $query_exec = mysqli_query($db->getConnection(),$query_search) or die(mysqli_error($db->getConnection())); $row = mysqli_num_rows($query_exec); if($row == 0){ echo "failed"; }else{ echo "success"; $rocketName = mysqli_real_escape_string($db->getConnection(),$_POST["userName"]); $sql_update = "UPDATE confirmedrequest SET jobTakenBy = '$rocketName' WHERE smsCode = $smsCode "; $sql_exec = mysqli_query($db->getConnection(),$sql_update) or die(mysqli_error($db->getConnection())); } }else{ echo "Empty code"; } ?> 

Ответ PHP в logcat всегда сбой, даже если код соответствует. Я пытался отладить его в течение нескольких часов, но все еще не могу решить. Все, что я хочу, – это запустить код ниже (response.equalsIgnoreCase («успех»)), когда код соответствует.

Solutions Collecting From Web of "Почему не удается совместить код? Ответ PHP и Android"

Вы должны установить заголовки, чтобы ответ был отформатирован правильно:

 $db = new DB_CONNECT(); if(isset($_POST['smsCode'])){ $smsCode = $_POST['smsCode']; $query_search = "SELECT * FROM confirmedrequest WHERE smsCode='".$smsCode."'"; $query_exec = mysqli_query($db->getConnection(),$query_search) or die(mysqli_error($db->getConnection())); $row = mysqli_num_rows($query_exec); if($row == 0){ http_response_code(500); echo "failed"; }else{ http_response_code(200); echo "success"; $rocketName = mysqli_real_escape_string($db->getConnection(),$_POST["userName"]); $sql_update = "UPDATE confirmedrequest SET jobTakenBy = '$rocketName' WHERE smsCode = $smsCode "; $sql_exec = mysqli_query($db->getConnection(),$sql_update) or die(mysqli_error($db->getConnection())); } }else{ http_response_code(400); echo "Empty code"; }