You are wrong that most people know how, they might know how to get something to render in a given browser, but usually their code is filled with errors, nonbreaking spaces, nested lists or tables.
You should take note that (x)'HTML is used for markup, while CSS is used to style your page, I.E. Apply a font, or change the background colors.
PHP is a serverside programming language, used to preprocess data, such as images, html, css, pdf etc. MySQL is also a serverside language, this is however a database used to store data, there are several ways to handle the data with so called queries made from php.
You can create a simple website using notepad in windows, but basically any text editor can be used. Just remember to save your pages with the .html extension, and of cause to validate your pages. Validators are used to check your code for errors, this helps to solve most code related problems, and makes it easier to get your pages to work in most browsers.
Do not let people confuse you about the differance between html and xhtml, the differance between the two is minimal, this may however change when/if the next version of html/xhtml is released as a recommendation by w3c.
xhtml is a child language of xml, and is suposed to be served with the "application/xhtml+xml" mimetype, instead of "text/html", this means if you have coding errors, the browser will show an error rather then the page. Some browsers do however not support this mimetype, and won't even render the page when its used. Usually the web server will serve the page as "text/html" for those browsers, see also: http://www.w3.org/2003/01/xhtml-mimetype/content-negotiation
Never mind about xhtml for now, You can easily start to learn HTML + CSS, and later pick up XHTML. The differance (as it is now) is minimal, and it dose not require much work to "convert" a html file into xhtml by hand.
The below links has some useful articles, and Tutorials/References for beginners.
http://www.brugbart.com/Tutorials/17/ - HTML 4.01
http://www.brugbart.com/Tutorials/18/ - CSS level X
http://www.w3schools.com - Tutorials/References
http://www.w3.org/MarkUp/Guide/ - Dave Raggett's Introduction to HTML
http://www.w3.org/Style/Examples/011/firstcss/ - Starting with HTML + CSS
WYSIWYG editors are also very pupoler amongst people building simple personal/family websites, its however not recommended to use such tools, they are simply impractical for serious websites. Actually such editors are only to prefer if you need to publish a document in a hurry. Many website hosts, (free as well as payed) offer a WYSIWYG editor, which you can use to "design" your website with, simply by the push of a few buttons. They do not however account for the many browser incompatibilities, and the authors inability to use the elements in (x)'html correctly, often they mix deprecated attributes used for presentation with their CSS equivalents, and it so happens that the authors often get frustrated when things doesn't behave the way they expect, and finally they end up coding by hand.
You would also want somewhere to host your site, when looking for a host where you can upload your files, you should check that they offer some sort of FTP, either in their control panel, or by an FTPClient such as SmartFTP.
Some of the free hosts are listed below:
http://members.freewebs.com/
http://www.tripod.lycos.co.uk/
http://geocities.yahoo.com/
http://pages.google.com/
Buying a domain name is however cheap, and usually ensures that you are able to upload your pages, examples of such hosts would be:
http://www.one.com/
http://www.godaddy.com/
You can find and ask about hosts on the webhostingtalk forum:
http://www.webhostingtalk.com/
See also the threed (List your "top list of hosts"):
http://www.webhostingtalk.com/showthread.php?t=654242
Its recommended to learn HTML and CSS togetter, since this makes it much easier, never mind the deprecated attributes, i don't even remember half of them, and neither do i need any of them in my CSS based layouts.
Finally take note that the font tag has been deprecated in favor for the span tag, i only say this because someone mentioned using it, but the usage of font is not recommended. Same goes for the attribute named "bgcolor" which has been replaced by the background properties of CSS, see also: http://www.brugbart.com/References/58/ - Background Properties
The "marquee" element is a non-standard element, and as such its not a part of html, but most browsers still renders it.