8
我陷入了一個問題與發佈數據到服務器與改造。 這是我嘗試做(和什麼不工作):POST數據到數據庫與改造
這是一個實例轉換併發送至Web服務類:
public class Txt {
private String text;
public Txt (String text) {
this.text = text;
}
public String getText() {
return text;
}
}
這是我的接口:
public interface textapi {
@POST("/php/set_string.php")
public void setText (Txt text, Callback<String> cb);
}
我的web服務:
<?php
$user = "user";
$database = "db";
$password = "pw";
$data = json_decode(file_get_contents("php://input"), true);
$con = mysqli_connect("localhost", $user, $password, $databse);
$statement = mysqli_prepare ($con, "INSERT INTO votes (vote_text) VALUES (?)");
mysqli_stmt_bind_param ($statment, "s", $data['text']);
mysqli_stmt_execute($statement);
mysqli_close($statment);
mysqli_close($con);
header('Content-Type: application/json');
echo json_encode($data['text']);
?>
我不知道我做錯了。我研究和嘗試了很多,但我不能得到它的工作:/
編輯:好吧,我得到了在Android上的錯誤消息:
com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true)
編輯:我加入@Body解決的問題在interfeace:
public interface textapi {
@POST("/php/set_string.php")
public void setText (@Body Txt text, Callback<String> cb);
}
究竟是不是工作?你有什麼錯誤嗎? – Bono
問題是我沒有得到任何錯誤,它只是不工作:/ –
您是否嘗試過顯示所有PHP錯誤?將它放在頁面頂部:'error_reporting(E_ALL); ini_set('display_errors','1');' – Bono