来自应用程序的查询未更新,但我可以手动执行
这是网址,请注意,如果您执行该网址,则会运行查询
http://justedhak.com/old-files/singleactivity.php?id=1&likes=14
这是php,我知道php需要改进
$id= intval($_GET['id']);
$likes= intval($_GET['likes']);
$con = mysqli_connect($host,$uname,$pwd,$db) or die(mysqli_error());
echo $id;
$sql1="UPDATE OBJECTS SET LIKES=$likes WHERE ID=$id";
$result = mysqli_query($con,$sql1);
这是代码
class SendPostReqAsyncTask extends AsyncTask<String, Void, String> {
@Override
protected void onPreExecute()
{
Log.e("GetText","called");
}
@Override
protected String doInBackground(String... params) {
String json = "";
try{
RequestBody formBody = new FormEncodingBuilder()
.add("id", "1")
.add("likes", "10")
.build();
Request request = new Request.Builder()
.url("http://justedhak.com/old-files/singleactivity.php")
.post(formBody)
.build();
Response response = client.newCall(request).execute();
if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
//insert username, password and login true after successful login.
//redirect to main activity
} catch (IOException e){
Log.e("MYAPP", "unexpected JSON exception", e);
}
return "success";
}
我没有收到错误,asyctask看起来不错
答案 0 :(得分:1)
您的API仅支持GET
方法。您不需要为此创建RequestBody
。
试试这个,
@Override
protected String doInBackground(String... params) {
try {
String id = "1";
String likes = "14";
String url = "http://justedhak.com/old-files/singleactivity.php?id=" + id + "&likes=" + likes;
Request request = new Request.Builder()
.url(url)
.build();
Response response = client.newCall(request).execute();
if (!response.isSuccessful()){
throw new IOException("Unexpected code " + response);
}
Log.e("MYAPP", response.body().string());
} catch (IOException e){
Log.e("MYAPP", "unexpected JSON exception", e);
}
return "success";
}
在PHP
,
<?php
$id = intval($_GET['id']);
$likes = intval($_GET['likes']);
// Create connection
$conn = new mysqli($host, $uname, $pwd, $db);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "UPDATE OBJECTS SET LIKES=$likes WHERE ID=$id";
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
$conn->close();
?>