A designer creates the visual look of the site, and often nothing more, a developer creates all the code that makes the site functional. Infact I think it is preferable if people are more specialized.
When creating a site for clients the work usually follows this pattern and each of these are different jobs handled by different people.
Graphic Design: A Graphic in Photoshop, Fireworks or another program.
Web Design: Turning the graphic into a web page template by slicing the image then using css, html, & javascript.
Web Development: Coding of dynamic elements such as database driven content, or other dynamic content using the template from the web designer.
Here are some of the specialists that may also work on a web site.
Flash/Multimedia designer: Design animations or other flash content
Flash programmer: Programs flash (creating games, or other dynamic/interactive elements).
Database Administrator: Creates databases, tables, and stored proceedures for manipulating data.
Technical Writer / Marketing: Creates product descriptions, writes copy for the web site.
Data Entry and Content Management: The person making updates, adding new plain text pages, etc.
It all depends on the route he wants to go - because he may not know that beyond the title of Web Designer is a pletora of options.
Considering his php/mysql and hand coding of html, maybe he should become a web developer instead - and for that he might want to take a course, or go to university for computer science so that he knows both the *nix side (php/mysql) and the windows side (asp/.net) and has more options open to him finding work.
Once he is a programmer, he can very easily find designers to work with quite easily and work independantly, or get a job at a marketing company, design shop, or almost anywhere that has a large intranet (such as manufacturing/telmecommunications/oil & gas).