php mysql外文文献_外文翻译通过PHP访问MySQL

41528d3028836879cd698677c3999917.gif外文翻译通过PHP访问MySQL

译文通过 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 文件访问数据库,你只需要修改这一个文件。注意:不用担心有人会直接看到这个文件从而得到你的数据库的登录信息。如何被直接请求,这个文件会被当作 PHP 文件处理,返回结果是一个空白页。假设这个文件的名字叫做 db_login.php,并且它跟其他所用 PHP 文件放在同一个目录下。这个文件的内容如例 9-1 所示。例 9-1:设置数据库登录的配置文件模板在例 9-2 中,我们创建的文件使用跟 Web 服务器放在同一台机器上的数据库,并指定的数据库的名字,用户名和密码。例 9-2:db_login.php 文件示例图 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, user varchar(10) default NULL, title varchar(150) default NULL, day date default NULL,PRIMARY KEY (id)) ENGINE=MyISAM DEFAULT CHARSET=latin1;---- Dumping data for table purchases--LOCK TABLES purchases WRITE;INSERT INTO purchases VALUES (1, Mdavis , Regular Expression Pocket Reference , 2005-02-15 ),(2, Mdavis , JavaScript 如果你在第 8 章中没有创建这些表,可以将例 9-3 中的代码保存成文件backup.sql,然后在命令行执行命令,命令格式如下:mysql -u username -ppassword -D database_name “. mysql_error( ));}函数 mysql_connect 的参数是数据库服务器主机、用户名和密码。如果连接成功,就会返回新建立的连接,如果不能建立连接就会返回 FALSE。检查这个函数的返回值来确保连接的确建立起来了。如果遇到问题,比如不正确的密码,可以使用 mysql_error 打印一条友好的警告信息以及导致错误的原因。注意:不仅仅是打印一条错误信息,die()还会停止这个程序的执行。对于大部分数据库驱动网页来说,不能访问数据库就意味着网页毫无用处。通过使

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值