• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Daten löschen

Mathmos

Neues Mitglied
Hallo,

ich möcht Einträge in der Datenbank wieder löschen.
Dies klappt auch bisher ganz gut, wenn ich nur mit der ID oder mit dem removecode lösche.
Wenn ich nun aber mit ID und noch einem Werte löschen möchte funktioniert das nicht.
Wie sieht es richtig aus?

PHP:
$loeschen = "DELETE FROM bilder WHERE id = $id AND removecode = '$delkey'";
$loesch = mysql_query($loeschen);
Ok, Fehler gefunden. AND darf man in diesem Fall nicht benutzen. Nur &&
Aber wieso ist das so?

Jetzt habe ich noch eine Merkwürdigkeit festgestellt.
Ich benutze folgenden Code um abzufragen, ob der Eintrag gelöscht wurde.
Ohne diese und Verknüpfung hat das auch prima geklappt.
Aber jetzt bekomme ich immer die Meldung, dass das Löschen erfolgreich war.
Ganz egal ob die Daten vorhanden sind oder nicht.

PHP:
 if($loesch == true)
{
   echo "Loeschen war erfolgreich";
}
else
{
   echo "Fehler beim Loeschen";
}
 
Zuletzt bearbeitet:
machs einfach so:

PHP:
if (mysql_query("DELETE FROM bilder WHERE id = $id AND removecode = '$delkey'"))
{ echo "hat geklappt"; }
else { echo "irgendwas war da falsch"; }
 
Hallo,

mustangs Lösung ist falsch.

Eure If-Abfrage spuckt immer true aus, wenn der MySQL-Query erfolgreich ausgeführt werden kann. Das ist immr der Fall, völlig egal ob dabei wirklich Werte gelöscht werden oder nicht.
Die Funktion, die du suchst, ist mysql_num_rows().

Mathmos schrieb:
Ok, Fehler gefunden. AND darf man in diesem Fall nicht benutzen. Nur &&
Aber wieso ist das so?
Das ist falsch. AND kannst du genauso verwenden wie &&; ich z. B. benutze immer AND.
Was mir auffällt: Du solltest das $id in einfachen Anführungszeichen setzen.

MfG Icy
 
Wenn id ein Integer-Wert ist (was ich hoffe), braucht es eigentlich keine Anführungszeichen. </nitpick>
 
Zurück
Oben