2016-05-06 9 views
0

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.

Antwort

0

Bereits gelöst mein Problem. Ich bin so dumm. Das Problem war in dbConnect.php, das eine Verbindung zur Benutzerdatenbank herstellt, nicht zu roomspar, wo room table ist.