First, you master a general-purpose programming language, preferably a sufficiently high-level one that you don't have to worry about things like buffer overruns and pointer errors. Perl is a good choice (taint checking is very useful), and Python and Ruby are also reasonable options. Practice a lot. Before you start writing production code for a public-facing website (where security is very important if you want the thing to keep working), you want to be at the point where you can't stand to look at code you wrote a year ago because you can now see how horribly unmaintainable it was. Also, it's important to be comfortable finding and using existing standard modules (e.g., from the CPAN, or whatever the equivalent is for your programming language).
You'll also want to learn basic SQL to the point where you are comfortable constructing a one-off query on the fly that has multiple JOIN clauses. Trust me, you'll need this level of familiarity with SQL in order to proceed. (It is not, at this point, particularly important which RDBMS you use. A lot of details vary from one to another, but the basics are very similar, so familiarity with any of the major ones will prepare you to work with any of them. However, if I had to recommend a particular one it would be Postgres. MySQL is also a reasonable choice for a beginner, and even SQLite will do in a pinch.)
Now, put the two together: learn to use the standard database interface for your chosen programming language (e.g., if you're using Perl, learn to use DBI).
Also, the internet being what it is, if you're going to produce functioning code for a public-facing website, you absolutely need to be comfortable proactively dealing with user input that contains things it shouldn't. If you don't know who "little Bobby Tables" is, find out, and make sure you understand the implications. Also, be aware of the major Unicode-related security issues (e.g., you should know how to tell the difference between Αmazоn.сοm and Amazon.com and how to write code that alters the first one to make it less deceptive but accepts the second one unchanged).
Having done all of that, you'll be able to come back and ask much better (and very much more specific) questions about the project.