Markus F.: PHP & MySQL

Hallo,

ich hab eine DB mit ID und userID. Ich möchte bestimmte Datensätze löschen, mit meiner Funktion:

public function deleteEntry($ID) {
    mysql_query("DELETE FROM test WHERE userID = '$this->userID' AND ID = '$ID'");
    $this->Actual -= 1;
    mysql_query("UPDATE test_stats SET Actual = '$this->Actual' WHERE userID = '$this->userID'");
  }

Wenn die ID vorhanden ist, funktioniert das alles wunderbar, wenn sie aber nicht vorhanden ist, löscht der logischerweise nichts, zählt dann aber $this->Actual runter und trägt das ein - obwohl nichts gelöscht wurde. Wenn ich hinter die erste mysql_query or die() einfüge, passiert auch nichts, da auch wenn die ID nicht vorhanden ist, kein Fehler auftritt. Wie kann ich das also Abbrechen, dass er NICHT dem weiteren Prozedere folgt?

Danke...
Markus

  1. hi,

    Wenn die ID vorhanden ist, funktioniert das alles wunderbar, wenn sie aber nicht vorhanden ist, löscht der logischerweise nichts, zählt dann aber $this->Actual runter ... Wie kann ich das also Abbrechen, dass er NICHT dem weiteren Prozedere folgt?

    Du könntest die affected Rows abfragen.

    Hotti

  2. Hi!

    Wie kann ich das also Abbrechen, dass er NICHT dem weiteren Prozedere folgt?

    Mit einer bedingten Ausführung, die die Anzahl der betroffenen (affected) Datensätze auswertet.

    Lo!