I currently have a business idea for a website but I don't want to ask for anybody's help nor hire anybody to build this. I'd rather start building it as a small website and grow it out myself, eventually start a limited company and monetize the site.
Without giving too much detail, it's a website dealing with written fiction. I believe my idea is (mostly) original; as in there are competitors on the market but nowhere near as efficient and convenient for users and content providers.
I have minor experience in PHP and MySQL (and that was in a school project a few years ago). I want to seriously attempt to build this website. What would I need to learn? How long would it take me to learn it? If I wanted to aim for having thousands of users in the first few weeks or months, how expensive would web hosting be? And which programming/scripting languages and tools should I be using?
It's hard to give advice without knowing exactly what you're trying to do, but it sounds like you'd be better off customizing an existing CMS than rolling your own. Joomla is the most obvious choice for you, it's well-documented, has a large community, and is written in the language you know. You could probably kludge something together with a passing acquaintance with PHP and MySQL, but you don't want to. Writing software to cough up some text is easy, writing software that doesn't suck to cough up some text is hard.
You can use aws free for a year. After that what it costs will depend on what you need which, after a year, you should know.
In general, PHP written by inexperienced programmers turns into a mess. It's easy to get something working, but very hard to get something you'll be able to read a year later. Try to keep future you and how much you want him to not hate past you in mind.
You will not have thousands of users in the first weeks. That is not a thing that happens. It is a thing that used to happen, when the web was smaller, but it is not a thing that happens now. Get your site working, get some content, and then (and only then) post to relevant subreddits/wherever people interested in what you offer hang out about it.
If you already have some experience with PHP and MySQL, you should have no problems getting a site together using Joomla, Drupal, WordPress, or the various other CMS out there. If you want to build something yourself, you may want to look at django or Ruby on Rails. Hosting can be done on the cheap. You can get a VPS from Digital Ocean for $5.00/month to start. The first two months will be free with a coupon code. Setting up a site will not be your biggest hurdle. Your biggest hurdle is getting the word out there and making it relevant to people. If you are successful in growing your user base, then you can worry about hosting costs.