Zitat:
Vor die Anfürungszeichen immer ein Backslash
echo '<select name=\"host\">';
Diese Zeilen sind schön und gut, aber Du musst der Option noch einen Wert geben:
while (list ($name) = mysql_fetch_row ($result))
{
echo "<option value=\"$name\">$name</option>"; //Oder hier ???
}
|
Sorry Sascha, aber das ist zu mindestens einem Viertel Schwachfug.
Der erste String steht in Hochkommata, in diesen muß nur weiteren Hochkommata ein Backslash vorangestellt werden; Gänsefüße funktionieren hier auch ohne.
Gänsefüße in Gänsefüße-Strings (in der vorletzten Zeile) ist korrekt.
Das Problem liegt tatsächlich in der Query; wenn host kein numerischer Wert ist, MUSS er in Hochkommata, so wie Sasche es geschrieben hat; die gesamte Query in Gänsefüße.
Den Parse Error kann ich mir aber auch nicht erklären.
last but not least:
Zitat:
aus dem ersten Post:
$entfernen = "host"; /* der Name, von dem alle Daten gelöscht werden sollen */
$result=MYSQL_QUERY("DELETE FROM liste WHERE host = $entfernen");
|
In der ersten Zeile fehlt ein $, dadurch wird $entfernen nicht mit dem Wert von $host besetzt sondern mit dem String 'host'. Durch die fehlenden Hochkommata in der Query bekommt mySQL die folgende Aufgabe:
DELETE FROM liste WHERE host = host
und die Where-Bedingung trifft jawohl auf jeden Eintrag zu.
Also,
$entfernen = $host; und
WHERE host = '$entfernen' und alles ist in Butter - wenn auch nicht sehr elegant.