【发布时间】:2016-06-12 18:08:49
【问题描述】:
我想使用 volley 创建一个用户注册页面,但我无法将数据发送到服务器。这是我第一次使用截击。我已经包含了所有权限并且服务器也正常运行,我只是无法将数据发送到在线数据库。
当我运行它时,它给出了以下消息:“警告 mysqli prepare() 期望参数 1 是 mysqli,在 home 中给出布尔值......”
请帮忙。 这是我的安卓代码: 用户类包含姓名、用户名、手机、密码等字符串。
private void registerUser(final User user) {
StringRequest stringRequest = new StringRequest(Request.Method.POST, SERVER_ADDRESS + "Register.php",
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(Register.this,response,Toast.LENGTH_LONG).show();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(Register.this,error.toString(),Toast.LENGTH_LONG).show();
}
}){
@Override
protected Map<String,String> getParams(){
Map<String,String> params = new HashMap<String, String>();
params.put("name",user.name);
params.put("username", user.username);
params.put("mobile", user.mobile);
params.put("password", user.password);
Log.d(name+username+"her", "her");
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
}
这是 php 文件:
<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
$con=mysqli_connect("localhost","dbName","pass","userName");
$name = $_POST["name"];
$username = $_POST["username"];
$mobile = $_POST["mobile"];
$password = $_POST["password"];
$statement = mysqli_prepare($con, "INSERT INTO UserDetails (name, username, mobile, password) VALUES (?, ?, ?, ?)");
mysqli_stmt_bind_param($statement, "ssss", $name, $username, $mobile, $password);
mysqli_stmt_execute($statement);
echo $name, $username, $mobile, $password;
mysqli_stmt_close($statement);
mysqli_close($con);}
?>
【问题讨论】:
标签: php android android-volley android-studio-2.0