3
我嘗試使用OutputStreamWriter將一些數據從Android發送回服務器(數據庫),但我無法在數據庫中看到任何結果,Logcat也沒有問題。我嘗試了在stackoverflow上發佈的解決方案,但沒有運氣。這裏是我的代碼: -php無法接收Android使用HttpURLConnection發送的數據
private class sentFeedback extends AsyncTask<String,Void,String>{
@Override
protected String doInBackground(String... params) {
if(isNetworkAvailable()){
try{
URL feedback = new URL("http:.../setFeedback.php");
HttpURLConnection conn = (HttpURLConnection) feedback.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
String data = getData(params);
wr.write(data);
wr.flush();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}else{
return "No internet connection";
}
return null;
}
public String getData(String... params) throws UnsupportedEncodingException {
String data = "id" + "=" + URLEncoder.encode(params[0], "UTF-8");
data += "&" + "rating" + "=" + URLEncoder.encode(params[1], "UTF-8");
data += "&" + "message" + "=" + URLEncoder.encode(params[2], "UTF-8");
return data;
}
}
PHP代碼: -
$id = $_POST['id'];
$rating = (double)$_POST['rating'];
$message = $_POST['message'];
$feedbackQuery = "INSERT INTO feedback(message, id, rating) VALUES ('$message', '$id', '$rating')";
$feedbackQueryResult = $mysqli->query($feedbackQuery);
$mysqli->close();
目前我使用的是免費000webhost的帳戶。這是我可以發回數據的原因嗎?
在此先感謝!
大家好,我的問題解決了,你有沒有找到這個問題的答案?我一直在這個問題上堅持了一個多星期。如果你已經找到了一個解決方案,你可以發表一個答案與Android和PHP代碼:) – edwinj