PHP和MySQL入门(8)
在这一章内我们会学习到如何在一个Web页面中向数据库中存储信息并显示它。之前我们已经安装 了MySQL这个关系型数据库引擎以及PHP这个服务器端脚 本语言,并学习了有关它们的基本知识。在学完这一章后,我们将明白如何综合利用这两个新的工具来构建一个数据库驱动的网站!
对前一部分的回顾
在我们往下继续之前,回顾一下我们学习的目的应该是件有价值的事。现在有我们的系统中有了两个强有力的新的工具:脚本语言PHP和数据库引擎MySQL。搞清楚两者是如果协同工作是很重要的。
数据库驱动的网站的实质就是允许站点的内容存在于一个数据库中,并且可以通过这个数据库来动态 地产生Web页面来让我们的访问者通过标准的Web浏览器来 显示它。所以在你的系统的一端是一个访问你的站点的浏览者,他通过访问HTTP://WWW.YOURSITE.COM来获得一个标准的HTML格式的 Web页面并在Web浏览器中显示它。在你的系统的另一端是通过一个或几个数据表存储在一个只理解如何响应SQL查询(命令)的MySQL数据库中的你的 站点的内容。
PHP脚本语言承担了两者之间的联络员的角色,使用PHP,你可以编写一个标准HTML的“模 板”,这个“模板”决定了你的站点的外观(包括图画和页面设 计)。这时内容是属于这个“模板”的,你可以使用一些PHP代码来连接MySQL数据库并且使用SQL查询来获得数据并在其相应位置显示它,这里的SQL 查询是和我们在第二章中用来建立笑话数据表时一样的。
现在对于访问者在访问你的数据库驱动的网站的一个页面时,到底会发生什么事,你应该有个明确的认识了:
访问者的Web浏览器使用一个标准的URL请求这个页面。
Web服务器软件(Apache、IIS或其他)认定被请求的页面是一个PHP脚本,因而在响应这个页面请求之前用它的PHP插件来解释它。
一些PHP命令(我们还没学到)会连接MySQL数据库并向数据库请求属于这个Web页面的内容。
MySQL数据库作出响应并且向PHP脚本发出被请求的内容。
PHP脚本将内容存储到一个或几个PHP变量中,并使用我们熟悉的echo函数将其作为Web页面的一部分输出。
PHP插件完成处理并将生成的HTML副本返回到Web服务器。
Web服务器将这个HTML副本发送到Web浏览器,这将是一个标准的HTML文件,只不过它不是直接来自于一个HTML文件,而是来自于PHP插件提供的输出。
用PHP连接MySQL
在我们从我们的MySQL数据库中获取我们的Web页面所包含的内容之前,我们首先必须知道如 何建立与MySQL的连接。在第二章中,我们使用了一个叫 mysql的程序来做这样的连接。PHP不需要这样的一个程序,对连接MySQL的支持是语言内置的。下面的这个函数用来建立这样的连接:
mysql_connect(<address>, <username>, <password>); |
在这里,<address>是MySQL服务软件在其上运行的计算机的IP地址或 主机名(如果这与运行Web服务软件的计算机是同一台,你可 以使用"localhost"),<username>和<password>就是你在第二章中用来连接到MySQL服务器的用 户名及口令。
你可能还记得PHP中的函数在被调用时往往会返回(输出)一个值。请不要担心我们没有提醒你, 我们在最初接触一个函数时都会为你详细详细它。绝大多数的函 数在被调用后,都会返回一个可以在存储在变量中的值以备下次使用。例如我们上面介绍的mysql_connect函数,会返回一个数字来标识已经建立的连 接。因为我们会要使用这个连接,所以我们必须保存这个值。下面是一个关于如何连接我们的MySQL数据库的一个实例:
$dbcnx = mysql_connect("localhost", "root", "mypasswd"); |
需要说明的是,对于你的MySQL服务器,上面这个函数中的三个参数的值可能是不同的。你应该注意到在这儿我们的mysql_connect 返回了一个值(我们称之为一个连接标识),这个值被我们存储在变量$dbcnx中。