Hi Christian,
$anzahldl ++;
$query = "UPDATE media SET anzahldl = '$anzahldl' WHERE id='$nid'";
$sql = mysql_query($query);
Unabhängig von deinem eigentlichen Problem (dazu hat dir Rouven ja schon einen Tip gegeben) noch eine Anmerkung, du willst vermutlich lieber folgendes schreiben:
$sql = "UPDATE media SET anzahldl = anzahldl + 1 WHERE id = '" . mysql_real_escape_string($nid) . "'";
$result = mysql_query($sql);
if ($result === false) {
// Fehlerbehandlung!
}
Was hieran anders ist? Zunächst lese ich die Downloadzahl nicht erst aus, inkrementiere sie in PHP und lasse sie dann wieder in die Datenbank schreiben, sondern ich inkrementiere direkt in der Datenbank. Das hat u.a. auch den Vorteil, dass es nicht zu Problemen kommt, wenn mehrere Benutzer den Download gleichzeitig anfordern. Desweiteren sorge ich dafür, dass (vermutlich) vom Besucher kommende Parameter korrekt escaped werden, damit es nicht zu SQL Injections kommen kann. Letzendlich habe ich auch noch eine Fehlerbehandlung angedeutet für den Fall, dass mysql_query() aus irgendeinem Grund einen Fehler zurückliefert.
Viele Grüße,
~ Dennis.