Chapter 4: Publishing MySQL Data on the Web
This is it—the stuff you signed up for! In this chapter, you'lllearn how to take information stored in a database and display it on a Web
page for all to see. So far you have installed and learned the basics of MySQL,
a relational database engine, and PHP, a server-side scripting language. Now
you'll see how to use these two new tools together to create a true database-driven
Website!
A Look Back at First Principles
Before we leap forward, it's worth a brief look back to remind you of
our ultimate goal. We have two powerful, new tools at our disposal: the PHP
scripting language, and the MySQL database engine. It's important to understand
how these two will fit together.The whole idea of a database-driven Website is to allow the content
of the site to reside in a database, and for that content to be dynamically
pulled from the database to create Web pages for people to view with a regular
Web browser. So on one end of the system you have a visitor to your site who
uses a Web browser to load http://www.yoursite.com/, and
expects to view a standard HTML Web page. On the other end you have the content
of your site, which sits in one or more tables in a MySQL database that understands
only how to respond to SQL queries (commands).

PHP retrieves MySQL data to produce Web pages
As shown in "PHP retrieves MySQL data to produce Web pages", the PHP scripting language is
the go-between that speaks both languages. It processes the page request and
fetches the data from the MySQL database, then spits it out dynamically as
the nicely-formatted HTML page that the browser expects. With PHP, you can
write the presentation aspects of your site (the fancy graphics and page layouts)
as "templates" in regular HTML. Where the content belongs in those templates,
you use some PHP code to connect to the MySQL database and—using SQL
queries just like those you used to create a table of jokes in "Getting Started with MySQL"—retrieve and display some content in its place.Just so it's clear and fresh in your mind, this is what will happen
when someone visits a page on your database-driven Website:
The visitor's Web browser requests the Web page using a standard
URL.
The Web server software (Apache, IIS, or whatever) recognizes
that the requested file is a PHP script, and so the server interprets the
file using its PHP plug-in, before responding to the page request.
Certain PHP commands (which you have yet to learn) connect
to the MySQL database and request the content that belongs in the Web page.
The MySQL database responds by sending the requested content
to the PHP script.
The PHP script stores the content into one or more PHP variables,
and then uses the now-familiar echo function to output
the content as part of the Web page.
The PHP plug-in finishes up by handing a copy of the HTML
it has created to the Web server.
The Web server sends the HTML to the Web browser as it would
a plain HTML file, except that instead of coming directly from an HTML file,
the page is the output provided by the PHP plug-in.