【问题标题】:JSON receiving data from androidJSON从android接收数据
【发布时间】:2012-07-13 16:59:55
【问题描述】:

我是 php 新手。我正在从 android as 向 php 服务器发布数据--

JSONObject jsonObject = new JSONObject();
try
{
    jsonObject.put("name", "john");
    String url = "http://10.0.2.2/WebService/submitname.php";
    HttpClient client = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost(url);
    httpPost.setHeader("json", jsonObject.toString());
    StringEntity se = null;
    se = new StringEntity(jsonObject.toString());
    se.setContentEncoding(new BasicHeader(
    HTTP.CONTENT_TYPE, "application/json"));
    httpPost.setEntity(se);
    HttpResponse response = client.execute(httpPost);
    int i = response.getStatusLine().getStatusCode();
    Log.v("status", "" + i);
} catch (Exception e)
{
    e.printStackTrace();
} 

并以 php 的形式接收数据

<?php
 mysql_connect("localhost","root","");
 mysql_select_db("my db");
 $var = json_decode($_POST['HTTP_JSON']);
 $service = $var->{'name'};
 mysql_query("INSERT INTO name_table(`_id`, `retrived_name`, `cat`, `is_valid_name`) VALUES (1547, '$service','$var',true);");
 echo  $var;
?>

在服务器端一无所获。但是 php 查询执行正确,因为得到 200 个响应和数据库中的新行,但 retrived_namecat 字段为空。

我该如何解决这个问题?提前致谢!

【问题讨论】:

    标签: php android json http post


    【解决方案1】:

    您应该在查询中提供值:

    <?php
        mysql_connect("localhost","root","");
        mysql_select_db("my db");
        $var = json_decode($_POST['HTTP_JSON']);
        $service = $var->{'name'};
        $name = $_POST['name'];
        mysql_query("INSERT INTO name_table(`_id`, `retrived_name`, `cat`, `is_valid_name`) VALUES (1547, '$service','$name',true);");
        echo  $var;
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多