MySQL DELETE; Es wird nichts gelöscht

real_benedikt

Mitglied
Hallo,

habe hier im Forum schon mal gesucht, aber nichts passendes gefunden...

Folgendes:

Ich habe ein Webinterface, indem ich ein kleines E-Mail System eingebaut habe...
Funktioniert alles toll außer, dass ich auf die Idee gekommen bin einen Link im Posteingang und Postausgang hinzusetzten, mit dem man ALLE Emails auf einmal löschen kann...(Die E-Mails sind in einer Mysql Datenbank gespeichert)

Also habe ich folgendes Script geschrieben:

PHP:
if ($del)
{
	$name = $_SESSION["vorname"];
	$sql = "DELETE FROM `ausgang` WHERE name ='".$name."'";
	mysql_query($sql);
	$db_changed = mysql_affected_rows();
	if ($db_changed >0) $meldung = "ALLE Daten im Ausgang erfolgreich gel&ouml;scht<p><a href=\"#\" onClick=\"self.close();\"> Fenster schliessen</a></p>";
	else $meldung = "Keine Daten geschrieben!";
}

Das Problem ist, nachdem das Script aufgerufen wurde, hat es nichts gelöscht.. Auch als ich den richtigen Namen statt $name eingesetzt habe ging es nicht...

Wo liegt der Fehler?
 
Spontane Vermutung:

PHP:
if ($del)

Kommt der Parameter $del vielleicht durch die URL oder ein Formular und sollte dementsprechend mit $_GET bzw. $_POST angesprochen werden?
 
Gibt es einen MySQL Fehler?
PHP:
if ($del)
{
    $name = $_SESSION["vorname"];
    $sql  = "DELETE FROM `ausgang` WHERE name = '".$name."' LIMIT 1";
    $delete_result = mysql_query($sql);
    if ($delete_result)
    {
        echo "okay";
    } else {

        echo "Fehler: ".mysql_error();
    }
    $db_changed = mysql_affected_rows();

    if ($db_changed >0)
    {
        $meldung = "ALLE Daten im Ausgang erfolgreich gel&ouml;scht<p><a href=\"#\" onClick=\"self.close();\"> Fenster schliessen</a></p>";
    } else {

        $meldung = "Keine Daten geschrieben!";
    }
}
Wenn ja, hilft dieser meist weiter!
 
Werden denn die Daten gelöscht? hast du mal nachgeschaut (mit phpMyAdmin o.Ä.)? Wenn nicht würde ich das mal machen. Außerdem könntest du mal folgendes probieren:
PHP:
if ($del)
{
    $name = $_SESSION["vorname"];
    $sql  = "DELETE FROM `ausgang` WHERE `name` = '".$name."' LIMIT 1";
    $delete_result = mysql_query($sql);
    if ($delete_result)
    {
        echo "okay";
    } else {

        echo "Fehler: ".mysql_error();
    }
    $db_changed = mysql_affected_rows($delete_result); // Verbindungs-Kennung eingefügt!

// evtl. noch ein:
echo mysql_error();

    if ($db_changed >0)
    {
        $meldung = "ALLE Daten im Ausgang erfolgreich gel&ouml;scht<p><a href=\"#\" onClick=\"self.close();\"> Fenster schliessen</a></p>";
    } else {

        $meldung = "Keine Daten geschrieben!";
    }
}
 
Ich habe schon nachgeschaut, die Daten wurden nicht gelöscht, und auch bei diesem Beispiel kommt immer noch die Meldung: Keine Daten geschrieben !
 
und was wird hier ausgegeben? "okay" oder "Fehler: [...]" ?
PHP:
if ($delete_result)
    {
        echo "okay";
    } else {

        echo "Fehler: ".mysql_error();
    }
 
Zurück