In meinem Programm habe ich ListView
von Räumen (nur verfügbar sind gezeigt). Wenn Sie auf eines der Elemente tippen, wird ein Layout mit Details wie Preis usw. angezeigt. Auch hier ist ein Buch-Button. Wenn der Benutzer angemeldet ist, sollte er den Raum buchen (aktualisieren Sie die Datenbank und setzen Sie die Eigenschaft 'available' eines bestimmten Raums auf 0). Wenn nicht, sollte sich der Benutzer anmelden.Ich weiß nicht, was mache ich falsch bei der Aktualisierung der Datenbank mit Volley
Alles funktioniert gut außer Update-Vorgang. So
, das ist mein PHP-Skript, die Datenbank aktualisieren soll
<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
$id = $_POST['id'];
$available = $_POST['available'];
//importing database connection script
require_once('dbConnect.php');
//Creating sql query
$sql = "UPDATE room SET available = '$available' WHERE id = $id";
//Updating database table
if (mysqli_query($con,$sql)) {
echo 'Room Is Booked Successfully';
}
else {
echo 'Could Not Book Room, Try Again';
}
//closing connection
mysqli_close($con);
}
Das ist meine android Volley Funktion:
private void update() {
available = Integer.valueOf(0).toString();
id = Integer.valueOf(Config.SELECTED_ITEM + 1).toString();
StringRequest stringRequest = new StringRequest(Request.Method.POST, Config.BOOK_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(DetailsActivity.this, response, Toast.LENGTH_LONG).show();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(DetailsActivity.this, error.getMessage(), Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put(Config.KEY_ID, id);
params.put(Config.KEY_AVAILABLE, available);
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
Jedesmal, wenn ich mir diese Nachricht bekommen: Es kann kein Zimmer buchen, Versuch es noch einmal. Hilf mir bitte.