我使用AsyncHttpClient
庫向數據庫插入文本字段值。這是我的代碼。但它不會將數據插入到數據庫base.it返回日誌值[0]
和Toast fail
。Android AsyncHttpClient使用Json將數據插入數據庫
AsyncHttpClient client=new AsyncHttpClient();
RequestParams params=new RequestParams();
params.put("loc_latitude", mLat.getText().toString());
params.put("loc_longitude", mLon.getText().toString());
params.put("loc_altitude", mAlt.getText().toString());
client.post(SERVICE_URL, params, new JsonHttpResponseHandler(){
public void onSuccess(int statusCode, Header[] headers, JSONObject json) {
try {
String value = json.getString("posts");
Log.e("val",value.toString());
if(value.equals("[0]"))
{
Toast.makeText(SCS.this,"Fail",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(SCS.this,"success",Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
這是我的服務端PHP腳本。
include('connection.php');
$json = file_get_contents('php://input');
$obj = json_decode($json);
$post = 0;
$posts = array();
$location_info_id = null;
$loc_latitude = isset($obj->{'loc_latitude'}) ? $obj->{'loc_latitude'} : null;
$loc_longitude = isset($obj->{'loc_longitude'}) ? $obj->{'loc_longitude'} : null;
$loc_altitude = isset($obj->{'loc_altitude'}) ? $obj->{'loc_altitude'} : null;
if (!empty($loc_latitude) && !empty($loc_longitude)) {
$sql = "INSERT INTO test_location (location_info_id, loc_latitude, loc_longitude, loc_altitude) VALUES ('". $location_info_id."','". $loc_latitude."','". $loc_longitude."','". $loc_altitude."')";
if ($conn->query($sql) == TRUE) {
$last_id = $conn->insert_id;
$post = $last_id;
} else {
$post = 0;
}
}
$posts = array($post);
header('Content-type: application/json');
print json_encode(array('posts' => $posts));
$conn->close();
你可以顯示服務器端代碼? –
哪個數據庫?請提供您的數據庫插入代碼。 –
@MustanserIqbal我有我添加服務器端代碼,請您及時檢查 – Yash