(DOC)-计算机毕业设计外文翻译----PHP访问MySQL-其他专业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
译文:
通过PHP访问MySQL
现在你已经可以熟练地使用MySQL客户端软件来操作数据库里的数据,我们也可以开始学习如何使用PHP来显示和修改数据库里的数据了。PHP有标准的函数用来操作数据库。
我们首先学习PHP内建的数据库函数,然后会学习PHP扩展和应用程序库(PEAR,PHP Extension and Application Repository )中的数据库函数,我们可以使用这些函数操作所有支持的数据库。这种灵活性源自于抽象。对于编程接口而言,抽象简化了复杂的交互过程。它将交互过程中无关紧要的部分屏蔽起来,让你关注于重要的部分。PEAR的DB类就是这样一种数据库接口的抽象。你登录一个数据库所需要提供的信息被减少到最少。这种标准的格式可以通过同一个函数来访问MySQL以及其他的数据库。同样,一些MySQL特定的函数被更一般的、可以用在很多数据库上的函数所替代。比如,MySQL特定的连接函数是:
mysql_connect($db_host, $db_username, $db_password);
而PEAR的DB提供的连接函数是:
$connection =
DB::connect("mysql://$db_username:$db_password@$db_host/$db_database" );
两个命令都提供了同样的基本信息,但是PEAR的函数中还指定了要连接的数据库的类型。你可以连接到MySQL或者其他支持的数据库。我们会详细讨论这两种连接方式。
本章中,我们会学习如何从PHP连接到MySQL的服务器,如何使用PHP访问数据库中存储的数据,以及如何正确的向用户显示信息。
步骤
无论是通过MySQL命令行工具,还是通过PHP,执行一个查询的基本步骤都是一样的:
•连接到数据库
•选择要使用的数据库
•创建SELECT语句
•执行查询
•显示结果
我们将逐一介绍如何用PHP和PEAR的函数完成上面的每一步。
资源
当连接到MySQL数据库的时候,你会使用到两个新的资源。第一个是连接的标识符,它记录了一个活动连接用来连接到数据库所必需的所有信息。另外一个资源是结果资源,它包含了用来从一个有效的数据库查询结果中取出结果所需要的所有信息。本章中我们会创建并使用这两种资源。
使用PHP函数查询数据库
本节我们会介绍如何使用PHP连接MySQL数据库。这非常简单,我们会用一些例子说明。但是之前我们应该稍微了解一下幕后发生的事情。当你试图连接一个MySQL数据库的时候,MySQL服务器会根据你的用户名和密码进行身份认证。PHP 为你建立数据库的连接,你可以立即开始查询并得到结果。
我们需要同样的信息来连接数据库:
•数据库服务器的IP地址
•数据库的名字
•用户名
•密码
在开始之前,首先使用MySQL的命令行客户端确认你登录到数据库。
图9-1显示了数据库交互过程的各个步骤和两种类型资源之间的关系。创建SELECT语句发生在第三个函数调用之前,但是在图中没有显示出来。它是通过普通的PHP代码,而不是MySQL特定的PHP函数完成的。
图9-1:使用数据库时函数和资源之间的交互
包含数据库登录细节
我们先创建一个文件,用来保存登录MySQL所用到的信息。我们建议你把这些信息放在单独的文件里然后通过include来使用这个文件。这样一来如果你修改了数据库的密码。无论有多少个PHP文件访问数据库,你只需要修改这一个文件。
假设这个文件的名字叫做db_login.php,并且它跟其他所用PHP文件放在同一个目录下。这个文件的内容如例9-1所示。
例9-1:设置数据库登录的配置文件模板
$db_host='hostname of database server';
$db_database='database name';
$db_username='username';
$db_password='password';
>
在例9-2中,我们创建的文件使用跟Web服务器放在同一台机器上的数据库,并指定的数据库的名字,用户名和密码。
例9-2:db_login.php文件示例
$db_host='localhost';
$db_database='test';
$db_username='test';
$db_password='yourpass';
>
图9-2显示了如何在其他PHP文件中使用这个文件。我们会继续使用在第七章中创建的数据库。
图9-2:在多文件中重复使用登录信息
例9-3是精简后的,用mysqldump命令得到的重建这个数据库的SQL命令。
例9-3:重建测试数据库的SQL语句
DROP TABLE IF EXISTS books;
CREATE TABLE books (
title_id int(11) NOT NULL auto_increment,
title varchar(150) default NULL,
pages int(11) default NULL,
PRIMARY KEY (title_id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Dumping data for table books
--
INSERT INTO books VALUES (1,'Linux in a Nutshell',476),(2,'Classic Shell Scripting',256);
--
-- Table structure for table purchases
--
DROP TABLE IF EXISTS purchases;
CREATE TABLE purchases (
id int(11) NOT NULL auto_increment,