Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php Web服务中解析json请求_Php_Android_Json_Web Services - Fatal编程技术网

在php Web服务中解析json请求

在php Web服务中解析json请求,php,android,json,web-services,Php,Android,Json,Web Services,在网上搜索了很多之后,我没有得到任何合适的解决方案。 我将JSON数据从android应用程序发送到用php开发的Web服务 当我通过高级Rest-Cient应用程序测试Web服务时,我得到了正确的响应,但是当我调用api时,它给了我null响应 以下是我将数据发送到服务器的android代码: JSONObject obj = new JSONObject(); try { obj.put("name", email_string);

在网上搜索了很多之后,我没有得到任何合适的解决方案。 我将JSON数据从android应用程序发送到用php开发的Web服务

当我通过
高级Rest-Cient应用程序测试Web服务时,我得到了正确的响应,但是当我调用api时,它给了我
null
响应

以下是我将数据发送到服务器的android代码:

 JSONObject obj = new JSONObject();
          try {

           obj.put("name", email_string);
           obj.put("email", password_string);

          } catch (JSONException e) {
           e.printStackTrace();
          }

          try {
               HttpPost httppost = new HttpPost(url.toString());
               httppost.setHeader("Content-type", "application/json");
               StringEntity se = new StringEntity(obj.toString());
               se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
               httppost.setEntity(se);
               HttpResponse response = httpclient.execute(httppost);
               Content = EntityUtils.toString(response.getEntity());
               Log.e("TAG", "response: " + response);
          }
          catch(Exception e)
          {
              //Toast.makeText(getApplicationContext(), "Something went wrong please try again later", Toast.LENGTH_LONG).show();
          }
下面是我的php Web服务代码:

<?php
error_reporting(1);
 $conn = new mysqli('localhost', 'xxxxx', 'xxxx', 'xxxx');
 // Get data
$data = json_decode("php://input",true);
print_r( $data);
 $handle = fopen("php://input", "rb");
 $raw_post_data = '';
while (!feof($handle)) {
    $raw_post_data .= fread($handle, 8192);
}
fclose($handle); 

$data = json_encode($raw_post_data);
$data = json_decode( $data);
$data = (array) $data;
$myarray = split("&", $data[0]);

 $myarray2 = split("=", $myarray[0]);

  $myarray3 = split("=", $myarray[1]);

  if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
  } 

  $qry = "SELECT emp_id, name, domain_name FROM Itl_login WHERE domain_name = '".urldecode($myarray2[1])."' and password='".urldecode($myarray3[1])."'";

 //echo $qry;
 $result = $conn->query($qry);


while($row = $result->fetch_assoc()) {
    $json = array("status" => 1, "name" => $row["name"], "domain_name"=> $row["domain_name"], "emp_ID" => $row["emp_id"]);
}

 /* Output header */
 header('Content-type: application/json');
 echo json_encode($json);



?>

如果它与高级REST客户端应用程序一起工作,而不是与Android应用程序一起工作,那是因为您没有正确解析属性

我得说是这两行的东西

$myarray2 = split("=", $myarray[0]);

$myarray3 = split("=", $myarray[1]);

您得到的是“空响应”,因为查询的属性编码错误

如果它与高级REST客户端应用程序一起工作,而不是与Android应用程序一起工作,那是因为您没有正确解析属性

我得说是这两行的东西

$myarray2 = split("=", $myarray[0]);

$myarray3 = split("=", $myarray[1]);

您得到的是“空响应”,因为查询的属性编码错误

您的控件是否达到$qry=“SELECT”?$result=$conn->query($qry);此行的输出是什么?您的控件是否达到$qry=“SELECT”$结果=$conn->query($qry);这条生产线的产量是多少?