I suspect you’ll get dozens of different answers to this question. My own advice would be to start with basics of HTML and CSS. Get on top of that before you venture into programming languages, databases, etc. But that’s just my opinion, for what it’s worth.
But it’s also worth asking why you want to learn web design. If it’s because you like acquiring new skills, or you enjoy the challenge of something new, or because you fancy the idea of creating your own sites … in all those cases, I would encourage you to give it a try, and wish you the best of luck.
But if your reason is that you hope to get a job as a web designer, or perhaps set up your own web design company, then I would advise you to be cautious. It’s a competitive field, and if you are starting from absolute zero … well, to be brutally frank, it could be a long hard road to success.
Miki has given some good advice. I’ll try and answer your main questions.
Buy a good, basic book on HTML4 and CSS and start with that.
To get started, all you need is a basic text editor and a browser, so it won’t cost you anything at all. A code editor will help, but again there are a number of free programmes available. There is a thread on the subject which you may find helpful.
that is a good place to get started to learn different types of code and how they are used. Start with HTML. Also check out adobe’s website. They have a lot of video tutorials on different things. May be a little too advanced for you but check it out anyways. And also youtube. I am a visual person. So seeing what people do and how they do it is easier for me. also helps if they have sound and walk you through the steps. I’m sure there are plenty of videos there.