Php Android Json不向服务器发送数据

Php Android Json不向服务器发送数据,php,android,json,Php,Android,Json,我有个问题。我在这里读了很多书,但不幸的是我找不到问题的答案。 我想向我的服务器发送Json帖子。然后服务器应将该字符串保存在我的数据库中 这是迄今为止我的服务器代码: <?php include('db_connect.php'); $db = new _DB_Connect(); $db->connect(); if(isset($_POST['regid'])){ $data = json_decode($_POST['regid']); $save_ent

我有个问题。我在这里读了很多书,但不幸的是我找不到问题的答案。 我想向我的服务器发送Json帖子。然后服务器应将该字符串保存在我的数据库中

这是迄今为止我的服务器代码:

<?php
include('db_connect.php');
$db = new _DB_Connect();
$db->connect();

if(isset($_POST['regid'])){
    $data = json_decode($_POST['regid']);

    $save_entry = "insert into gcm_users (gcm_regid) values ('$data')";
    mysql_query($save_entry) or die (mysql_error());
}else{
    echo 'no data get';
}

?>
现在

System.out.println(convertInputStreamToString(inputStream));
告诉我我没有数据

echo 'no data get';
因此,我从服务器上得到了一个响应,但我可以找到我的错误,即无法检索post数据的原因。
如有任何帮助或提示,将不胜感激。谢谢。

您应该在脚本中添加更多的echo语句。特别是第一个echo$\u POST['regid'],看看它是否正确。我想知道你为什么发送json文本。脚本不需要json。只有一个变量值。我无法回显第一个regid,因为它从未被接收。或者什么意思?
if(!isset($\u POST['regid'])echo(“POST数组中未设置regid”);else echo(“postarray中设置的regid:$_POST['regid']”)。对于测试:删除数据库和sql代码。首先尝试让脚本接收所有参数/值。缺少PHP/HTTP的基础知识。。。如果您使用的是
application/json
,您应该阅读body(
php://input然后在PHP端解析它,而不是“表单”(因为内容类型不是
应用程序/www-form-urlencoded
)。。。在这里问了很多次,先搜索!不需要使用这种低级别编码php://input 接收json。我不知道您使用的是哪个android api版本。但是它的内置org.apache.http.entity.mime.MultipartEntityBuilder;或者您可以从下载jar文件
try this...

JSONObject jsonObject = new JSONObject();
jsonObject.put("regid", "blablabla");
String json = jsonObject.toString();

MultipartEntityBuilder multiPart = MultipartEntityBuilder.create();

multiPart.addTextBody("regid",json);
or 
multiPart.addTextBody("regid","blablabla");

httpPost.setEntity(multiPart.build());
try this...

JSONObject jsonObject = new JSONObject();
jsonObject.put("regid", "blablabla");
String json = jsonObject.toString();

MultipartEntityBuilder multiPart = MultipartEntityBuilder.create();

multiPart.addTextBody("regid",json);
or 
multiPart.addTextBody("regid","blablabla");

httpPost.setEntity(multiPart.build());