【发布时间】:2016-08-18 09:53:24
【问题描述】:
我已经成功创建了一个 mysql 数据库并尝试用一个 php 文件填充它。
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;
?>
如果我手动调用 php 文件,它确实会输入但只有 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'插入到用户 ID 字段中? -
我正在尝试通过 php 脚本将 android 应用程序提供的用户 ID 插入到 mysql 数据库中。
-
试试这个查询
INSERT INTO beerconsumption (userid, time, button, weight, sex) VALUES ('".$userid."', ''.$time."', '".$button."', '".$weight."', '".$sex."') -
并回显您的查询
-
@KarthiVenture 不幸的是它不是这样工作的。现在当我运行 php 文件时没有任何反应
标签: php android mysql database post