数据库的访问能力是基于Web的应用程序和动态生成的Web页面的关键部分,因此php的创建者让这种语言在这个领域变得特别有效。实际上,即使今天它已经提供了用于数据库操作的许多命令,php语言还在继续扩展它对数据库的支持。
在本文中,我将解释你如何能够使用php连接到一个数据库然后从它提取出信息。然后,我将向你们展示一个例子Web站点的页面,它使用一个MySQL数据库来生成动态页面内容。为了我们演示的目的,我将假设你了解你的数据库的基本语法。
php以不同的方式提供对数据库的支持。首先,它提供对一些数据库的原始的支持。下面,我列举了一些流行的数据库并提供了指向php手册中合适函数的链接。
其次,在你的数据库不是它原始支持的数据库的话,你可以使用基于访问协议的函数来进行连接。目前,这些包括
为了在一个单一的系统上提供不同数据库的功能,php还提供了实验性的模块dbx。这个函数集允许你连接到你的php配置支持的任何数据库。一般来说,实验性的模块是发布以便程序员能够对它们进行测试但是还没有在最终版本中发布或者还处于开发阶段。
为了在php中连接到一个数据库,你应该使用你的数据库特定的模块中的connect函数。例如,要连接到你的Web 服务器上的一个MySQL数据库,你可以使用下面的命令:
mysql_connect("localhost","username","password")
因为这个函数返回一个标识符,所以你应该在调用的时候将它和一个变量联系起来,如下面的例子脚本所示。
一旦你已经使用这种方法打开了一个数据库,那么支持模块中的所有其它的函数都可以用来操作数据了。如果你希望用同样的参数再次连接到数据库,那么现有的标识符会被返回而不会打开一个新的连接。
当你完成了对数据库的操作以后,你可以使用close函数来关闭它,如下:
mysql_close($database_identifier)
同样,在脚本结束的时候用connect创建的一个连接会自动结束。
虽然特定的连接函数会取决于你使用的数据库类型,但是对于一些支持的数据库来说,php提供了pconnect函数。这个函数允许你打开一个到你的数据源的持久的连接。这意味着一旦你已经打开了一个连接,它就会一直保持打开状态,即使是在脚本结束或者你调用了一个close函数的时候也不会关闭。在你使用了pconnect函数以后,你可以在任何时候使用查询和数据操作函数而不需要打开新的连接。因为它的持续状态,pconnect在你为动态页面的生成使用数据库的时候是特别有用的。
第一种类型包括诸如close和change_user这样的函数。这些函数依赖连接描述符中包含的数据来运行数据库级的命令,这些数据是在连接到数据库的时候被创建的。
第二种类型包括使用内部数据库的功能,比方error,numfields,和get_server_info这样的函数,以及非常重要的query函数。这些函数是最依赖数据库类型的表示数据空间级别的功能的。
第三种函数类型,而且可能是用得最多的php数据库函数,是那些在你的查询结果上操作的函数。这些函数处理每个类型的数据库的输出结果,它们包括这样的函数:fetch_array和num_rows。