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