PHP毕业设计(论文)外文翻译
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
英文原文名Database Handling With PHP/MySQL 中文译名数据库处理PHP/MySQL
英文原文版出处:(美)Chris Shiflett,Marcus Baker PHP in Action [M].2010-01-01:361-430
译文成绩:指导教师(导师组长)签名:
译文:
与数据库通信
不同其他脚本语言的Web页面开发,即ASP ,PHP是开源的,跨平台的,并提供良好的连接,今天的大多数常见的数据库,包括Oracle , Sybase的Microsoft SQL Server ,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或WH atever )认识到所需的文件是一个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( "
Unable to connect to the database server at this
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( "
Unable to locate the sales database at this time.
" );exit();
}
注意,这一次,不是分配函数的结果给一个变量然后检查,如果变量是真的或是假的,我只是使用了函数调用自身的条件。这看起来可能有些奇怪,但它是一个非常常用的快捷方式。要检查,如果条件为真或假,PHP执行函数然后检查它的返回值–这正是我们需