Ich möchte eine Benutzerregistrierungsseite mit Volley machen, aber ich bin nicht in der Lage, Daten an den Server zu senden. Es ist das erste Mal, dass ich Volley spiele. Ich habe alle Berechtigungen eingeschlossen und der Server läuft ebenfalls ordnungsgemäß. Ich kann die Daten nicht an die Online-Datenbank senden.Nicht möglich, Daten an den Server mit Volley android senden
Wenn ich es laufen, gibt es die folgende Meldung: "Warnung MySQLi prepare() erwartet Parameter 1 Mysqli, boolean in nach Hause gegeben werden ..."
Bitte helfen. Hier ist mein Android-Code: Benutzerklasse enthält Zeichenfolge aus Name, Benutzername, Handy, Passwort.
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);
}
}
Und hier ist die PHP-Datei:
<?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);}
?>