Código PHP:
"update disponibilidad set '$reserva'= '$valor' where fecha = '$fecha'"
Según entiendo, el usuario define las variables $reserva, $valor y $fecha.
Intenta armando el query por separado.
Código PHP:
$query='update disponibilidad set '.$reserva.'='.$valor.' where fecha='.$fecha;
mysql_query($query) or die(mysql_error());
or die(mysql_error()) te arrojará un mensaje de error en caso de que algo haya salido mal.