Mit PHP mysql datensatz löschen
kleiner hobbit
- php
Hallo,
ich habe ein formular, wo ein <input type="text" name="email" /> ist und ein Submit Button <input type="submit" name="löschen" />.
Es ist so gedacht, dass wenn einer seine Emailadresse reinschreibt, dass diese von einer MySQL Datenbank gelöscht wird. Das mit dem löschen klappt auch.
Aber, wenn einer eine Emailadresse angibt, die gar nicht in der Datenbank vorhanden ist, soll eine nachricht kommen, wo steht das die Emailadresse nicht in der Datenbank vorhanden ist. Mein Code ist dieser:
<?PHP
if (!empty($_POST["email"]) && isset($_POST["loschen"]))
{
$query="DELETE FROM tabelle WHERE email='$_POST[mail]'";
$result = mysql_query($query);
if($result)
{
echo "gelöscht";
}
if(!$result)
{
echo "dieser datensatz ex. nicht.";
}
}
mysql_close($verbindung);
?>
Kann einer mir helfen?
Vielen Dank.
kleiner hobbit
Hi,
Es ist so gedacht, dass wenn einer seine Emailadresse reinschreibt, dass diese von einer MySQL Datenbank gelöscht wird. Das mit dem löschen klappt auch.
Aber, wenn einer eine Emailadresse angibt, die gar nicht in der Datenbank vorhanden ist, soll eine nachricht kommen, wo steht das die Emailadresse nicht in der Datenbank vorhanden ist.
Kann einer mir helfen?
Lies im Manual zu mysql_query nach, wie man herausfindet, wie viele Datensätze das erfolgreich durchgeführte SQL-Statement betroffen hat.
MfG ChrisB
Hi kleiner,
<?PHP
if (!empty($_POST["email"]) && isset($_POST["loschen"]))
{
$query="DELETE FROM tabelle WHERE email='$_POST[mail]'";
$result = mysql_query($query);
if($result)
{
echo "gelöscht";
}
if(!$result)
{
echo "dieser datensatz ex. nicht.";
}
}
mysql_close($verbindung);
?>
Dieser Code ist GEFÄHRLICH! Beschäftige dich mit [SQL-Injections](http://de.wikipedia.org/wiki/SQL-Injection), wenn du nicht möchtest, dass dir jemand den \*gesamten\* Inhalt der Tabelle auf einmal löscht.
Viele Grüße,
~ Dennis.
--
Mein [SelfCode](http://community.de.selfhtml.org/fanprojekte/selfcode.htm): [ie:{ fl:( br:> va:) ls:\[ fo:) rl:( n4:# ss:) de:\] js:| ch:{ sh:| mo:} zu:|](http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%7B+fl%3A%28+br%3A%3E+va%3A%29+ls%3A%5B+fo%3A%29+rl%3A%28+n4%3A%23+ss%3A%29+de%3A%5D+js%3A%7C+ch%3A%7B+sh%3A%7C+mo%3A%7D+zu%3A%7C)
Mahlzeit kleiner hobbit,
ich habe ein formular, wo ein <input type="text" name="email" /> ist und ein Submit Button <input type="submit" name="löschen" />.
if (!empty($_POST["email"]) && isset($_POST["loschen"]))
Wieso prüfst Du $_POST["loschen"], wenn der Button doch "löschen" heißt?
$query="DELETE FROM tabelle WHERE email='$_POST[mail]'";
1. Du solltest Dich DRINGENDST mit mysql_real_escape_string() auseinandersetzen! Dein Code ist anfällig für SQL-Injection ...
2. Du solltest vernünftig bzw. korrekt auf assoziative Arrays zugreifen.
3. Wieso versuchst Du auf $_POST["mail"] zuzugreifen, wenn doch das Eingabefeld "email" heißt?
$result = mysql_query($query);
if(!$result)
{
echo "dieser datensatz ex. nicht.";
}
Ein Ergebnis bekommst Du immer. Du willst vermutlich eher wissen, wieviele Zeilen betroffen sind.
MfG,
EKKi