我已經成功創建了一個mysql數據庫,並試圖用php文件填充它。android,php和mysql之間的通信失敗
的PHP的代碼如下所示:
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$userid = $_POST['userid'];
$time = $_POST['time'];
$button = $_POST['button'];
$weight = $_POST['weight'];
$sex = $_POST['sex'];
$sql = "INSERT INTO beerconsumption (userid, time, button, weight, sex)
VALUES ('userid', 'time', 'button', 'weight', 'sex')";
// use exec() because no results are returned
$conn->exec($sql);
echo "New record created successfully";
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>
如果我mannualy調用PHP文件時,它確實讓entrys只是0。如果我改變線路
VALUES ('1', 'time', 'button', 'weight', 'sex')";
它把一個一個在桌子的第一個字段中。 但如果我使用郵遞員或我的Android應用程序發佈不同的值,它仍然只是發佈0.
此刻我只是沒有得到過錯。
Android的腳本:
public void sendData(){
StringRequest request = new StringRequest(Request.Method.POST, insertUrl, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
}
}, new Response.ErrorListener(){
@Override
public void onErrorResponse(VolleyError error){
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> parameters = new HashMap<String, String>();
parameters.put("verify", "******");
parameters.put("userid",userID);
parameters.put("time",Long.toString(java.lang.System.currentTimeMillis()));
parameters.put("button", Integer.toString(button));
parameters.put("weight",Integer.toString(calc.person.getWeight()));
parameters.put("sex",Integer.toString(calc.person.getSex()));
return parameters;
}
};
requestQueue.add(request);
}
你正在嘗試將*字符串*「userid」插入到userid字段中嗎? – Bert
我想通過php腳本插入android應用程序中給出的用戶標識到mysql數據庫中。 –
嘗試此查詢INSERT INTO beerconsumption(userid,time,button,weight,sex)VALUES('「。$ userid。」',''。$ time。「','。。$ button。」','「 。$ weight。「''''。$ sex。」')' – Karthi