Mahlzeit Leo,
Ich noch mal, Leo. Also hat ja fast geklappt so wie es beschrieben war. Nur eines hat und kann so nicht funktionieren, die Abfrage "ob der eingegebene Wert" (in diesen Falle ein Klar-Text-Passwort) vorhanden ist.
Dann mach's doch anders. Die Abfrage, ob ein Wert vorhanden ist, macht man in SQL gemeinhin ungefähr auf folgende Weise:
SELECT COUNT(*) AS anzahl
FROM foo
WHERE bar = 'trödelöt';
Wo liegt Dein Problem?
Wenn er vorhanden ist wird in der DB ein Eintrag gelöscht, wenn's den Wert nicht gibt, gibts auch keine Fehlermeldung.
Wieso sollte es auch eine Fehlermeldung geben? Du gibst der Datenbank den Befehl, alle Datensätze zu löschen, auf die ein bestimmtes Kriterium zutrifft. Ob das jetzt 0, 1 oder 4782232 sind, spielt doch keine Rolle: wenn die Datenbank den Löschbefehl fehlerfrei durchführen konnte, wäre eine Fehlermeldung falsch. Allein aus dem Rückgabewert von mysql_affected_rows() kannst Du schließen, ob Datensätze gelöscht wurden.
Ob das jemand verstanden hat? Sprich, wer ein Passwort kennt kann in der DB die dazugehörige Spalte löschen und es gibt eine Bestätigung.
Die Bestätigung sieht dann so aus, dass der von mysql_affected_rows() zurückgegebene Wert > 0 ist.
Hat man sich verschrieben oder gibt es das Passwort nicht, gibts auch keine Bestätigungsmeldung aber Unklarheit.
Wieso? In dem Fall wäre der von mysql_affected_rows() zurückgegebene Wert = 0.
Nochmal: Wo liegt Dein Problem?
Nun die Frage von mir - Sollte das "DELETE FROM ..." nicht ausgeführt werden können, gibts dann von der DB eine Fehlermeldung zurück ( so wie bei mysql_affected_rows beschrieben: Falls die letze Anfrage fehlschlägt, liefert diese Funktion -1 zurück.)
Ja, wenn eine Funktion einen Fehler produziert, gibt's eine Fehlermeldung. Allerdings ist das bloße Nicht-Löschen von Datensätzen, weil keiner mit den von Dir gewünschten Kriterien existiert, kein Fehler.
Dann könnte man doch diesen Fehlerwert mit dem zu erwarteten Fehlerwert vergleichen und auswerten. Und somit ein echo ausgeben.
Häh?
$sql = "DELETE FROM imo WHERE geheim ="$_GET[mloe]" ";
Es ist immer noch eine wahnsinnig bescheuerte Idee, Benutzereingaben einfach ungeprüft an die Datenbank durchzureichen. Informiere Dich über die Benutzung von mysql_real_escape_string().
MfG,
EKKi
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|