Daten löschen aus der Datenbank
Timo L.
- datenbank
Moin moin!
Ich hoffe es geht euch gut :)
Kurze Frage:
Ich möchte Daten aus der Datenbank löschen:
$löschen = mysql_query("DELETE FROM Benutzer WHERE Benutzer = '$benutzer1');
Dies geht auch noch alles :) Kein Ding...
Die Frage ist, ich möchte gerne die Daten NUR löschen wenn zwei Daten stimmen...
Also Benutzername und Passwort müssen angegeben werden und wenn diese Stimmen, dann soll gelöscht werden...
So klappt das bei mir nicht, war auch nur ein test. :D
$löschen = mysql_query("DELETE FROM Benutzer WHERE Benutzer = '$benutzer1' AND Passwort = '$passwort1'");
Mit freundlichen Grüßen
Timo
Hello,
Die Frage ist, ich möchte gerne die Daten NUR löschen wenn zwei Daten stimmen...
Also Benutzername und Passwort müssen angegeben werden und wenn diese Stimmen, dann soll gelöscht werden...
So klappt das bei mir nicht, war auch nur ein test. :D
$löschen = mysql_query("DELETE FROM Benutzer WHERE Benutzer = '$benutzer1' AND Passwort = '$passwort1'");
Und was steht hinterher in $löschen drin? BTW: das 'ö' ist böse in einem Variablennamen.
Und was liefert mysql_errno()?
http://de3.php.net/manual/en/function.mysql-errno.php
Ich vermute, dass kein Fehler auftrat und daher ein Problem mit der Verschlüsselung des Passwortes vorliegt, oder steht das Passwort im Klartext in der Tabelle?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Wenn ich im Formular nur Benutzername angegeben habe möchte um dies zu löschen klappt alles, also er löscht den den jeweiligen Benutzer aus der DB.
Wenn ich im Formular den Benutzername und Passwort angegeben haben möchte, löscht er dies nicht. Weil ich wahrscheinlich falschen Befehl habe...denke ich mal.
Es wird auch kein Fehler angezeigt.
Mittlerweile ist mir egal ob ein "ä ö ü" in Variablen bzw. Texten stecken. Auch wenn man es nicht machen sollte :P
Das Passwort / Der Benutzername steht in der Tabelle weil ich vorher in anderne Formular die eingetragen habe. Dadrunter habe ich dann das Formular zum löschen.
( Dies sind nur Testformulare, da ich vor 2stunden angefangen habe mich mit Mysql zu beschäfitgen )
Mahlzeit Timo L.,
ich glaube, Du hast einige Hinweise bzw. Rückfragen von Tom nicht oder falsch verstanden.
Wenn ich im Formular nur Benutzername angegeben habe möchte um dies zu löschen klappt alles, also er löscht den den jeweiligen Benutzer aus der DB.
Das ist klar, das hattest Du ja auch geschrieben.
Wenn ich im Formular den Benutzername und Passwort angegeben haben möchte, löscht er dies nicht.
Das hattest Du auch geschrieben.
Weil ich wahrscheinlich falschen Befehl habe...denke ich mal.
Ich denke nicht. Ich denke eher, dass Du den gleichen und durchaus richtigen PHP(!)-Befehl richtig nutzt.
Dazu hätte ich auch gleich ein Zitat, das ich Dich bitte zu lesen und zu beherzigen.
Es wird auch kein Fehler angezeigt.
Bist Du Dir sicher, dass Du die Anzeige von Fehlern überhaupt genehmigt hast? Stichworte dazu wären "error_reporting" und "display_errors". Weiterhin weist Du das Ergebnis der SQL-Abfrage der Variablen $löschen (dass der Name ungünstig ist, wurde ja bereits erwähnt) zu ... hast Du den Inhalt dieser Variablen mal ausgegeben bzw. versucht, einen eventuell aufgetretenen MySQL-Fehler auszugeben?
Das Passwort / Der Benutzername steht in der Tabelle weil ich vorher in anderne Formular die eingetragen habe. Dadrunter habe ich dann das Formular zum löschen.
Der Aufbau irgendwelcher Formulare ist für Dein Problem absolut irrelevant, da es sich offenbar um ein MySQL- oder PHP-Problem handelt.
( Dies sind nur Testformulare, da ich vor 2stunden angefangen habe mich mit Mysql zu beschäfitgen )
Dann fehlen Dir offenbar noch eine Menge Grundlagen ... eigen Dir diese an, z.B. durch ein entsprechendes Tutorial.
MfG,
EKKi
Hallo Timo,
Ich möchte Daten aus der Datenbank löschen:
$löschen = mysql_query("DELETE FROM Benutzer WHERE Benutzer = '$benutzer1');
Hierraus schließe ich das du PHP verwendest, aber woher kommt $benutzer1 bwz. $passwort1 (GET, POST).
kann der User sich selber löschen oder machst du dieses.
So klappt das bei mir nicht, war auch nur ein test. :D
$löschen = mysql_query("DELETE FROM Benutzer WHERE Benutzer = '$benutzer1' AND Passwort = '$passwort1'");
$löschen = mysql_query("DELETE FROM Benutzer WHERE Benutzer = "'.$benutzer1.'" AND Passwort = "'.$passwort1.'"");
Du kannst dir $löschen auch per echo $löschen;
ausgeben lassen und die Query in PHP my Admin Texten.
Anmerkung:
Ich hoffe das in $passwort1 ein Hashwert drinne ist und nicht das Passwort in Klartext. Achte auch auf SQL-Injectionen, sprich Werte prüfen ob sie Passen und ggf. excapen.
Gruß Jonny F.
Anhang
verwende bei variablen-Namen keine Umlaute ä, ect.
Gehe auch nochmal lieber ein Tutorial durch wie man sicher Codet.
PHP TUTORIAL
Da lernst du auch was über Fehlerbehandlung, schaden würde es auf keine Fall
Gruß Jonny F. 2
Hi!
verwende bei variablen-Namen keine Umlaute ä, ect.
Mit dem Verwenden von Umlauten und anderen Zeichen aus dem Nicht-ASCII-Bereich hat PHP prinzipiell kein Problem. Problematisch wird es nur, wenn über die zu verwendende Zeichenkodierung Unklarheit herrscht und mehrere Editoren im Spiel sind, von denen vielleicht der eine ISO-8859-1 speichert und der andere UTF-8. PHP liest nur die Bytewerte und xE4 ist nicht gleich xC3 xA4. Sich auf a-z, A-Z und _ zuzüglich Ziffern ab dem zweiten Zeichen zu beschränken, umgeht "lediglich" diese Kodierungsprobleme.
Lo!