gpt4 book ai didi

php无法接收Android使用HttpURLConnection发送的数据

转载 作者:太空狗 更新时间:2023-10-29 14:57:35 25 4
gpt4 key购买 nike

我尝试使用 OutputStreamWriter 将一些数据从 Android 发送回服务器(数据库),但我在数据库中看不到任何结果,而且 Logcat 正常。我尝试了 stackoverflow 上发布的解决方案,但没有成功。这是我的代码:-

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 帐户。这就是我可以发回数据的原因吗?

提前致谢!

最佳答案

在 php 文件中将查询字符串中的 tablenName 替换为 dbName.tableName 例如,如果数据库名称为 mydb

$feedbackQuery = "INSERT INTO mydb.feedback(message, id, rating) VALUES ('$message', '$id', '$rating')";

再次测试,在一个项目中我的问题用这个解决

关于php无法接收Android使用HttpURLConnection发送的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29907599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com