Seite 1 von 1

mysql: DELETE löscht alles...

Verfasst: 24.04.2007 17:24
von leopittoni

Code: Alles auswählen

if ($datum1 != "")
{
if ($del1 == "delete")
{
$dele1 = "DELETE FROM einsatz WHERE customers_id = '$id' && datum = '$datumalt1'";
mysql_query($dele1);
}
else
{
$change1 = "UPDATE einsatz SET datum = '$datum1' WHERE customers_id = '$id' && datum = '$datumalt1'";
mysql_query($change1);
}
}
$id und $datumalt1 sind korrekt.

Komischerweise (auch wenn es nicht ist $dele1 = "delete") löscht es mir aber alle Einträge mit id = '$id' und beachtet das && datum = '$datumalt1' gar nicht...

Weiss jemand, woran das liegt?

Danke! Léo

Re: mysql: DELETE löscht alles...

Verfasst: 24.04.2007 17:36
von OnFire
Versuch mal

Code: Alles auswählen

if ($datum1 != "")
{
if ($del1 == "delete")
{
$dele1 = "DELETE FROM `einsatz` WHERE `customers_id`='".$id."' AND `datum`='".$datumalt1."'";
mysql_query($dele1);
}
...

Die Backticks entsprechend auch beim anderen Query.....und schau noch mal nach ob du alle Variablen richtig benannt hast

Verfasst: 24.04.2007 17:49
von leopittoni
ich habe grad mal in die DB reingeschaut...

Es löscht den Eintrag nicht! Es überschreibt alle Einträge mit der ID mit 0000-00-00. Also einem ungültigen Eintrag...

Léo

Verfasst: 24.04.2007 18:49
von Miriam
Leo, das && das Du meinst ist AND

...also

Code: Alles auswählen

DELETE FROM table WHERE ID = 'irgendwas' AND NUMMER ='08-15';
Und es wird wohl nie die Bedingung

Code: Alles auswählen

$del1 == "delete"
erfüllt.

Wo kommt denn $del1 her?