如何编写php代码来输入jsonstring并插入sql server

如何编写php代码来输入jsonstring并插入sql server,php,android,json,Php,Android,Json,我试图从手机输出一个Json字符串,并将其上传到我拥有的sql server。我不知道如何获得输出Json和编写php代码。。。我尝试了许多方法,但都找不到解决办法 public void post(String string) { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost( "http://www.hopscr

我试图从手机输出一个Json字符串,并将其上传到我拥有的sql server。我不知道如何获得输出Json和编写php代码。。。我尝试了许多方法,但都找不到解决办法

public void post(String string) {
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost(
                "http://www.hopscriber.com/xoxoxox/testphp.php");

        try {
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();

            nameValuePairs.add(new BasicNameValuePair("myJson", string));
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

            HttpResponse response = httpclient.execute(httppost);

            String str = inputStreamToString(response.getEntity().getContent())
                    .toString();
            Log.w("SENCIDE", str);
        } catch (Exception e) {
            Toast.makeText(getBaseContext(), "notwork", Toast.LENGTH_LONG)
                    .show();
        }
    }

    private Object inputStreamToString(InputStream is) {
        // TODO Auto-generated method stub
        String line = "";
        StringBuilder total = new StringBuilder();
        // Wrap a BufferedReader around the InputStream
        BufferedReader rd = new BufferedReader(new InputStreamReader(is));
        // Read response until the end
        try {
            while ((line = rd.readLine()) != null) {
                total.append(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        // Return full string
        return total;
    }
我试过的Php
include("config.php");
$link = connect_db();

$jsonString=$_POST['myJson'];

$root = json_decode($jsonString, true);

foreach ($root as $item)
{
$user=$item['user'];
$name=$item['name'];
$pack=$item['pack'];
$perm=$item['perm'];
$level=$item['level'];

$sql ="INSERT INTO `Survey_Application_Data`(`User`, `Name`, `package`, `manifest_permission`, `protection_level`) VALUES ('$user','$name','$pack', '$perm','$level')";

$result = mysql_query($sql);

if ($result){

    echo "True";
}
else{
    echo "False";
}

}


?>
看一下如何解码/表达来自PHP服务器的JSON响应。 您只需通过以下方式将响应转换为字符串

HttpEntity entity = response.getEntity();
String responseText = EntityUtils.toString(entity);
然后将其转换为JSON对象,并使用
getString
将其分配给新的
String

JSONObject jsonResponseText = new JSONObject(responseText);
String name = jsonResponseText.getString("name");//To get the "name"
String user = jsonResponseText.getString("user");//To get the "user"
//etc...
编辑 如果一次只向PHP服务器传递一组数据,只需在
nameValuePairs

nameValuePairs.add(new BasicNameValuePair("name", "FriendTracker"));
nameValuePairs.add(new BasicNameValuePair("user", "amjgp000000000000000"));
//etc ...
//and execute the httppost
然后在php代码中,您可以简单地使用:

$name= $_POST["name"];
$user = $_POST["user"];
//etc ...

你的问题是什么?如何在php中处理帖子并将其写入数据库?是的。。。。。需要处理Json字符串post并编写一个php将其写入DBS,告诉我们您到目前为止做了什么以及您的问题在哪里。这不是要求一个完整解决方案的地方。PHP支持JSON和SQL,因此将这两部分放在一起并不十分困难。
$name= $_POST["name"];
$user = $_POST["user"];
//etc ...