教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> 高等教育> 其它> Getting-PHP-to-Talk-to-MySQL通过PHP访问MySQL毕业论文外文文献翻译及原文

Getting-PHP-to-Talk-to-MySQL通过PHP访问MySQL毕业论文外文文献翻译及原文

  毕 业 设 计(论文)

  外 文 文 献 翻 译

  文献、资料中文题目:通过PHP访问MySQL

  文献、资料英文题目:Getting PHP to Talk to MySQL 文献、资料来源:

  文献、资料发表(出版)日期:

  院 (部):

  专 业:

  班 级:

  姓 名:

  学 号:

  指导教师:

  翻译日期: 2017.02.14

  毕 业 论 文(设 计)外文翻译

  翻译题目: 通过PHP访问MySQL _

  英文题目: Getting PHP to Talk to 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文件访问数据库,你只需要修改这一个文件。

  Getting-PHP-to-Talk-to-MySQL通过PHP访问MySQL毕业论文外文文献翻译及原文1

  假设这个文件的名字叫做db_login.php,并且它跟其他所用PHP文件放在同一个目录下。这个文件的内容如例9-1所示。

  例9-1:设置数据库登录的配置文件模板

  ?php

  $db_host='hostname of database server';

  $db_database='database name';

  $db_username='username';

  $db_password='password';

  ?

  在例9-2中,我们创建的文件使用跟Web服务器放在同一台机器上的数据库,并指定的数据库的名字,用户名和密码。

  例9-2:db_login.php文件示例

  ?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,

  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 DHTML

  Cookbook','2005-02-10');

  如果你在第8章中没有创建这些表,可以将例9-3中的代码保存成文件backup.sql,然后在命令行执行命令,命令格式如下:

  mysql -u username -ppassword -D database_name backup_file_name.sql 如果使用例子中的值,那么这个命令就是:

  mysql -u test -pyourpass -D test backup.sql

  数据库的名字叫test,它包含三个表,分别是books、authors和purchases。每个表都有一些示例记录。这些就足以让我们开始使用PHP来进行查询了。 连接到数据库

  我们需要做的头一件事情是连接数据库,并且检查连接是否确实建立起来。如例9-4所示,通过include包含连接信息的文件,我们可以在调用mysql_connect

  函数的时候使用这些变量而不是将这些值写死在代码中。我们使用一个叫做

  db_test.php的文件,往其中增加这些代码段。

  例9-4:在db_test.php中包含连接参数和调用mysql_connect

  // Include our login information

  include('db_login.php');

  // Connect

  $connection = mysql_connect($db_host, $db_username, $db_password);

  if (!$connection){

  die (Could not connect to the database: . mysql_error( ));

  }

  函数mysql_connect的参数是数据库服务器主机、用户名和密码。如果连接成功,

  就会返回新建立的连接,如果不能建立连接就会返回FALSE。检查这个函数的返

  回值来确保连接的确建立起来了。如果遇到问题,比如不正确的密码,可以使用

  mysql_error打印一条友好的警告信息以及导致错误的原因。

  Getting-PHP-to-Talk-to-MySQL通过PHP访问MySQL毕业论文外文文献翻译及原文2

  请注意我们还没有指定数据库的名字。

  诊断连接错误

  你可能遇到的一个错误是:

  Fatal error: Call to undefined function mysql_connect( ) in C:Program FilesApache

  Software FoundationApache2.2htdocsdb_test.php on line 4

  这个错误发生的原因是下载安装的PHP5.x默认没有包括对MySQL的支持。解决

  这个问题需要将php_mysql.dll文件从PHP压缩包例的ext/目录复制到C:/php,

  并修改C:WINDOWSphp.ini文件,确保下面两行没有被注释掉(注释的方法在

  行首使用分号)。

  extension_dir = c:/PHP/ext/

  extension=php_mysql.dll

  这样PHP扩展的目录就被设为C:PHP,MySQL的扩展也会被使用。在编辑php.ini

  文件的时候,你可以使用编辑器的搜索功能来检查这两行是否已经存在,只是需

  要去掉注释,并且需要重新输入。

  重新启动Apache,这样MySQL的支持就会被打开了。

  选择数据库

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

下载文档

热门试卷

2016年四川省内江市中考化学试卷
广西钦州市高新区2017届高三11月月考政治试卷
浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
广西钦州市钦州港区2017届高三11月月考政治试卷
广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
广西钦州市高新区2016-2017学年高二11月月考政治试卷
广西钦州市高新区2016-2017学年高一11月月考政治试卷
山东省滨州市三校2017届第一学期阶段测试初三英语试题
四川省成都七中2017届高三一诊模拟考试文科综合试卷
2017届普通高等学校招生全国统一考试模拟试题(附答案)
重庆市永川中学高2017级上期12月月考语文试题
江西宜春三中2017届高三第一学期第二次月考文科综合试题
内蒙古赤峰二中2017届高三上学期第三次月考英语试题
2017年六年级(上)数学期末考试卷
2017人教版小学英语三年级上期末笔试题
江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
四川省简阳市阳安中学2016年12月高二月考英语试卷
四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
安徽省滁州中学2016—2017学年度第一学期12月月考​高三英语试卷
山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷

网友关注视频

沪教版牛津小学英语(深圳用) 四年级下册 Unit 12
沪教版牛津小学英语(深圳用) 五年级下册 Unit 10
第12章 圆锥曲线_12.7 抛物线的标准方程_第一课时(特等奖)(沪教版高二下册)_T274713
冀教版英语三年级下册第二课
冀教版小学数学二年级下册第二单元《有余数除法的整理与复习》
二次函数求实际问题中的最值_第一课时(特等奖)(冀教版九年级下册)_T144339
【部编】人教版语文七年级下册《过松源晨炊漆公店(其五)》优质课教学视频+PPT课件+教案,江苏省
七年级下册外研版英语M8U2reading
外研版英语三起6年级下册(14版)Module3 Unit2
3月2日小学二年级数学下册(数一数)
二年级下册数学第二课
外研版英语七年级下册module3 unit2第二课时
30.3 由不共线三点的坐标确定二次函数_第一课时(市一等奖)(冀教版九年级下册)_T144342
【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,辽宁省
《空中课堂》二年级下册 数学第一单元第1课时
冀教版小学数学二年级下册1
冀教版小学数学二年级下册第二周第2课时《我们的测量》宝丰街小学庞志荣.mp4
【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,辽宁省
沪教版牛津小学英语(深圳用) 五年级下册 Unit 12
化学九年级下册全册同步 人教版 第18集 常见的酸和碱(二)
人教版二年级下册数学
沪教版八年级下册数学练习册一次函数复习题B组(P11)
外研版八年级英语下学期 Module3
沪教版八年级下册数学练习册20.4(2)一次函数的应用2P8
8 随形想象_第一课时(二等奖)(沪教版二年级上册)_T3786594
沪教版牛津小学英语(深圳用) 六年级下册 Unit 7
化学九年级下册全册同步 人教版 第22集 酸和碱的中和反应(一)
精品·同步课程 历史 八年级 上册 第15集 近代科学技术与思想文化
沪教版八年级下册数学练习册21.4(1)无理方程P18
第五单元 民族艺术的瑰宝_15. 多姿多彩的民族服饰_第二课时(市一等奖)(岭南版六年级上册)_T129830