Tach!
$daten = "DELETE FROM buchen WHERE Username = "$Username" AND Datum = "$Datum" AND Von = "$VonArray[$Zahler]"";
$daten = "DELETE FROM buchen WHERE Username = '$Username' AND Datum = '$Datum' AND Von = '{$VonArray[$Zahler]}'";
so isses sicherer ... also mit {$...}
Nein, ist es nicht. Die korrekte PHP-Syntax ist hier irrelevant, weil man wegen der notwendigen Kontextwechselbeachtung sowieso keine Variablenauflösung mehr im String hat.
$daten = "DELETE FROM buchen WHERE Username = '" . mysql_real_escape_string($Username) . "' AND Datum = '". mysql_real_escape_string($Datum) . "' AND Von = '" . mysql_real_escape_string($VonArray[$Zahler]). "'";
oder übersichtlicher, wie ich finde:
$daten = sprintf("DELETE FROM buchen WHERE Username = '%s' AND Datum = '%s' AND Von = '%s'",
mysql_real_escape_string($Username),
mysql_real_escape_string($Datum),
mysql_real_escape_string($VonArray[$Zahler]));
dedlfix.