PHP毕业设计(论文)外文翻译.doc
- 文档编号:1639104
- 上传时间:2022-10-23
- 格式:DOC
- 页数:11
- 大小:84KB
PHP毕业设计(论文)外文翻译.doc
《PHP毕业设计(论文)外文翻译.doc》由会员分享,可在线阅读,更多相关《PHP毕业设计(论文)外文翻译.doc(11页珍藏版)》请在冰豆网上搜索。
英文原文名DatabaseHandlingWithPHP/MySQL
中文译名数据库处理PHP/MySQL
英文原文版出处:
(美)ChrisShiflett,MarcusBakerPHPinAction[M].2010-01-01:
361-430
译文成绩:
指导教师(导师组长)签名:
译文:
与数据库通信
不同其他脚本语言的Web页面开发,即ASP,PHP是开源的,跨平台的,并提供良好的连接,今天的大多数常见的数据库,包括Oracle,Sybase的MicrosoftSQLServer,MySQL和PostgreSQL,ODBC。
PHP还提供了集成各种外部库,使开发人员能够生成PDF文档,访问安全的支付服务,并产生图形输出以解析XML。
回头看看第一原理
在我们的飞跃的同时要简短的回顾一下,去提醒我们正在努力朝着自己的目标。
我们有两个强大的,新的工具的在我们的面前:
PHP脚本语言和MySQL数据库引擎。
重要的是要了解这两个怎么会结合在一起。
一个数据库驱动的Web站点的整个想法是让网站的内容驻留在数据库中,并从数据库中动态地抽取数据来创建网页,来让人用一个普通的web浏览器查看。
因此,在系统的一端你有一个访问者到你的网站使用Web浏览器来加载,期望看到一个standardHTML网页。
在另一端你有你的网站,其中一部分在一个MySQL数据库中的一个或以上的表,只有懂得何为SQL查询(命令)才能作出回应的内容。
PHP脚本语言是穿针引线于两种语言之间,它处理页面请求,并获取从MySQL数据库中的数据,然后动态地得出浏览器期望得到的格式化的HTML页面。
使用PHP,你可以写网站(花哨的图形和页面布局)像常规HTML的“模板”。
其中内容属于这些模板,你可以使用一些PHP代码来连接MySQL数据库和-使用SQL查询检索并显示在它地方的一些内容。
当有人访问我们的数据库驱动的Web站点的页面会发生什么这是很清楚和明显的:
•使用标准的URL访问者的Web浏览器请求的网页
•Web服务器软件(Apache的,IIS或WHatever)认识到所需的文件是一个PHP脚本,所以使用它的PHP插件,响应页面请求之前,服务器解释该文件。
•某些PHP命令(我们还没有学会)连接到MySQL数据库,并要求所属在Web页面的内容。
•MySQL数据库通过发送所请求的内容到PHP脚本。
•PHP脚本存储内容到一个或多个PHP变量,然后使用现在,
熟悉的echo函数来输出内容作为网页的一部分。
•PHP的插件,通过分发它创造到Web服务器的HTML副本结束了。
•Web服务器发送的HTML到Web浏览器,因为它会一个纯HTML文件,不同之处在于,而不是直接从HTML文件来了,该网页是由PHP插件提供的输出。
用PHP 连接到MySQL
在你可以得到的内容用来提供载入网页的MySQL数据库之前,你必须知道如何从一个PHP脚本中建立连接到MySQL,用于连接到MySQL的支持是内置在PHP语言中。
下面的PHP函数调用建立连接:
mysql_connect(server_name,username,password);
在这里,地址是IP地址或者电脑的主机名在MySQL服务器运行(“localhost”如果是在同一台计算机上运行的Web服务器软件)用户名和密码是MySQL的用户名和密码。
当被使用时,PHP函数通常会返回(输出)一个值时,他们被称为价值。
除了做一些有用的东西时,当被使用时,大多数函数会输出一个值,这个值可能存储在一个变量中为等下使用。
Mysql_connect函数显示以上内容,如,返回一个已经被建立的定义了内容的数字。
既然我们想利用连接,我们应守住这个值,这里有一个例子说明我们怎样连接我们的MySQL服务器。
$dbcnx=mysql_connect(“localhost”,“root”,“mypassed”);
如上所述,这三个函数参数的值可能不同于你的MySQL服务器。
重要的是值通过mysql_connect返回存储在一个名为$dbcnx的变量中。
由于MySQL服务器是一个完全独立的一块软件,我们必须考虑服务器不可用或无法访问由于网络中断,或因为您提供的用户名/密码组合是不被接受的服务器的可能性。
在这种情况下,mysql_connect函数没有返回连接标识符(因为没有建立连接)。
相反,它返回false。
这允许我们使用if语句来应对这样的故障:
$dbcnx=@mysql_connect("localhost","root","mypasswd");
if(!
$dbcnx){
echo("
Unabletoconnecttothedatabaseserveratthis
time.
");exit();
}
在上面的代码片段有三个新方法。
首先,我们放置一个@符号在mysql_connect函数的前面。
很多函数,包括mysql_connect当他们失败时自动显示难看的错误消息。
放置一个@符号在函数名称前面告诉函数静静的失败,使我们能够展示我们自己的,显示友好的错误消息。
接下来,我们把一个感叹号加在$dbcnx中变量前面的ifstatement的条件。
感叹号是PHP拒绝运算符,可以翻转错误转为真,或者真值设置为错误。
因此,如果连接失败,并且mysql_connect返回错误,!
$dbcnx将值为真,如果执行语句会导致我们的身体的语句。
另外,如果做了一个连接,存储在$dbcnx中的连接标识符的值为真(任何非零数字被认为是“真”在PHP),所以!
$dbcnx中的计算结果为false,在if语句的语句将不被执行。
最后的新方法是exit函数,这是我们所遇到的函数不带参数的第一个例子。
所有这个函数做的一切是使PHP停止阅读的页面在这一点上。
这是一个失败的数据库连接的良好反应,因为在大多数情况下,页面将无法显示与连接有关的任何有用信息。
下一步,一旦连接建立,则要选择你要使用的数据库。
比方说,我们希望与一个销售数据库的工作。
我们创建的数据库名为“销售”。
选择该数据库在PHP中只是调用一个函数。
mysql_select_db("sales",$dbcnx);
请注意,我们使用数据库连接标识符告诉要使用的数据库连接的函数$dbcnx中的变量。
这个参数实际上是可选的。
当它被省略,该函数会自动连接链接标识符打开的最后一个连接。
当函数返回真,说明成功,返回失败,说明有错误。
再次提醒审慎的做法是使用if语句来处理错误:
if(!
@mysql_select_db("sales"))
{
echo("
Unabletolocatethesalesdatabaseatthistime.
");exit();
}
注意,这一次,不是分配函数的结果给一个变量然后检查,如果变量是真的或是假的,我只是使用了函数调用自身的条件。
这看起来可能有些奇怪,但它是一个非常常用的快捷方式。
要检查,如果条件为真或假,PHP执行函数然后检查它的返回值–这正是我们需要发生的情况。
随着连接建立和数据库选择,我们现在准备开始使用存储在数据库中的数据。
用PHP发送SQL查询
在PHP中,提交查询到数据库,我们使用mysql_query函数。
mysql_query(query,connection_id);
下面的查询包含我们想要执行的SQL命令的字符串。
与mysql_select_db,连接标识符参数是可选的。
函数返回什么将取决于被发送的查询类型。
对于大多数的SQL命令,mysql_query返回真或假,分别指示成功或失败。
考虑下面的例子,它试图创建客户表:
$sql="CREATETABLECustomers(
IDINTNOTNULLAUTO_INCREMENTPRIMARYKEY,
SurnameVarchar(25),
FirstnameVarchar(25),
CreatedateDate
)";
if(@mysql_query($sql)){
echo("
Customerstablesuccessfullycreated!
");}else{
echo("
ErrorcreatingCustomerstable:
"mysql_error()
."
");}
同样,我们使用@方法去打压请求mysql_query所产生的任何错误信息,而是打印出自己的友好的错误消息。
mysql_error函数用来返回一个字符串文字,描述被送往MySQL服务器的最后一个错误消息。
对于DELETE,INSERT和UPDATE查询(它用来修改存储的数据,MySQL也跟踪行(条目)都受到了查询的数量的影响。
考虑下面的SQL命令来设置一个名为“布朗”到“史密斯”所有客户的姓:
$sql="UPDATECustomersSETSurname='Smith'
WHERESurname='Brown'";
Whenweexecutethisquery,wecanusethemysql_affected_rowsfunctiontoviewthenumberofrowsthatwereaffectedbythisupdate:
if(@mysql_query($sql)){
echo("
Updateaffected".mysql_affected_rows()"rows.
");}else{
echo("
Errorperformingupdate:
".mysql_error()"
");}
SELECT查询的处理方式不同一点,因为他们可以获取大量的数据,而PHP必须提供方法来处理这些信息。
处理SELECT结果集
对于大多数的SQL查询,mysql_query函数返回true(成功)或false(失败)。
对于SELECT查询,这是不够的。
你会记得SELECT查询被用来显示数据库中存储的数据。
除了指出查询成功还是失败,PHP也必须接收的查询的结果。
因此,当它处理一个SELECT查询,请求mysql_query返回一个数字,用于标识一个“结果集”,它包含了所有(条目)从查询返回的行的列表。
如果查询失败,仍返回以任何理由的虚假信息。
$result=@mysql_query("SELECTSurnameFROMCustomers");
if(!
$result){
echo("
Errorperformingquery:
".mysql_error()"
");exit();
}
只要没有错误在查询时遇到,上面的代码会放置一个包含所有存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PHP 毕业设计 论文 外文 翻译