我正在尝试将一些 STRING 变量从 android 发送到 PHP 作为 JSON。我使用互联网上的指南之一完成了此操作,但不幸的是它不起作用,我无法使用 StackOverflow 上的其他类似问题来解决它。
这是我的安卓代码:-
JSONObject jsonObject= new JSONObject();
JSONArray jsonArray=new JSONArray();
public class sendData extends AsyncTask<String, String, Void> {
@Override
protected Void doInBackground(String... params) {
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("http://bdp.site40.net/sendRegData.php");
try {
HttpEntity httpEntity = new StringEntity(jsonArray.toString());
httpPost.setEntity(httpEntity);
httpClient.execute(httpPost);
}
catch (IOException e) {
}
return null;
}
}
public void onClickSubmitButton(View view) throws JSONException {
jsonObject.put("name",name);
jsonObject.put("blood",blood);
jsonObject.put("cell",cell);
jsonObject.put("email", email);
jsonObject.put("address",address);
jsonObject.put("country",country);
jsonObject.put("state",state);
jsonObject.put("city",city);
jsonArray.put(jsonObject);
new sendData().execute();
}
这是我的 PHP 代码:-
<?php
$json = file_get_contents("php://input");
$data = json_decode($json);
$name = $data[0]->name;
$blood = $data[0]->blood;
$cell = $data[0]->cell;
$email = $data[0]->email;
$address = $data[0]->address;
$country = $data[0]->country;
$state = $data[0]->state;
$city = $data[0]->city;
$con = mysql_connect("","","") or die(mysqli_connect_error());
$db = mysql_select_db("",$con) or die(mysqli_connect_error());
mysql_query("INSERT INTO Donors(Name,Blood,Mobile,E-Mail,Address,Country,State,City)VALUES('$name','$blood','$cell','$email','$address','$country','$state','$city')");
?>
在进行了一些实验之后,我将其范围缩小到问题在于我将数据发送到 PHP 脚本和/或 PHP 脚本接收数据的方式。任何人都可以寻找问题并纠正它吗?谢谢你!
注意事项:
- 我已经删除了 MySQL 用户名、密码、数据库名称和主机以保护隐私(显然)。
- 所有 8 个变量都是字符串格式。