Database > General Database

Problem concerning a PDO statement in a simple webservice setting

(1/1)

dkas:
Hi all.

I'm having to write a simple webservice that manages a shopping list. When online, it should use direct PDO statements, when offline, it stores the items via javascript and localStorage.

So far, I get everything to work (adding items works, showing the list works, both off- and online), but somehow, my delete function doesn't propagate to the database.

Here is how I handle the client-side:


--- Code: ---function loescheArtikel(artikelText){
var loeschenListe = localStorage.getItem("loeschenListe");
var deleteRequest = null;

if (navigator.onLine) {
if (loeschenListe == null) loeschenListe = '"'+artikelText+'"'
else loeschenListe = loeschenListe+' OR "'+artikelText+'"';

cleanListe = loeschenListe.replace(/\s/g, "%20");
deleteRequest = new XMLHttpRequest();
deleteRequest.onreadystatechange = function (){
if (deleteRequest.readyState == 4) console.log(deleteRequest.responseText);
};
deleteRequest.open('DELETE','Ue10Service.php/'+cleanListe,true);
deleteRequest.send(null);
} else {
var loeschenListe = localStorage.getItem("loeschenListe");
if (loeschenListe == null){
localStorage.setItem("loeschenListe", '"'+artikelText+'"');
} else {
localStorage.setItem("loeschenListe", loeschenListe+' OR "'+artikelText+'"');
}
console.log(artikelText+" zur LoeschenListe hinzugefügt");
}
}
--- End code ---

and the server-side:


--- PHP Code: ---if (isset($_SERVER['PATH_INFO'])){
$path = explode("/", $_SERVER['PATH_INFO']);
$loeschenListe = urldecode($path[1]);
        try{
            $stmt = $db->prepare('DELETE FROM liste WHERE beschreibung LIKE :loeschenListe');
            $stmt->bindParam(':loeschenListe', $loeschenListe);
            $stmt->execute();            
            header("HTTP/1.0 200 OK");
            echo "Deleted ".$loeschenListe;
        } catch (PDOException $e){
            header ("HTTP/1.0 500 INTERNAL SERVER ERROR");
            echo $e->getMessage();
            return;
        }
    }
}
--- End code ---


When I execute the loescheArtikel function, I always get to the point where I get a "200 OK" header back from the server, and it says that I successfully deleted "item" (echo "Deleted ".$loeschenListe;). The problem is, the statement does not propagate to the database, and I get no error whatsoever. Anyone got any ideas why that is?

Navigation

[0] Message Index

Go to full version