《PHP程序设计》 第五章 中场一:数据库连接

犀牛的文胸呢

犀牛的文胸呢

2016-01-29 15:16

《PHP程序设计》 第五章 中场一:数据库连接,《PHP程序设计》 第五章 中场一:数据库连接
       第五章 中场一:数据库连接
  
  前两章中集中介绍了PHP语言,现在停下来开始创建一个应用程序。在本章中将创建一个连接MySQL数据库的应用程序。
  
  在学习过前面两章之后,你肯定已经学会了怎样处理PHP内部数据,以及怎样编写语句和函数。下一步从逻辑上讲,应该到了学习如何用SQL(结构化查询语句)处理PHP的外部数据的时候了。但是,在开始学习这部分内容前,让我们暂时中断基本原理的学习,放松一下。
  让我带你一道探究PHP应用程序的开发历程。从字面意义上讲,每一个应用程序都应该是独特的,但是每一个应用程序也都能在此前的工作基础上,即一系列通用功能的基础上构建。我建议将这两项技术混合在一起。盲目地使用前人已编写好的功能,会剥夺在程序中加入新特色,还会阻止为提高函数的效率而去修改旧函数。从另一方面讲,使用已有函数意味着能更快的开发出应用程序。所以必须在这两个极端中把握好自己,才能成为一个优秀的程序设计员。
  
  注意:如果现在还对HTML不熟悉,那么现在就是开始学习的时间了。本书中假定你已经熟悉HTML了。如果还不熟悉HTML表格和表单的话,很快就会被搞糊涂的。
  
  5.1 开端
  每当开始一个新项目时,我喜欢从一个新的空目录开始。在这里,让我们把这个目录称为phpbook/ch05。当然,这个目录必须在Web服务器的根目录下。如果你是按照第一章的指令安装PHP的话,那么,Web服务器的根目录就应该为/usr/local/apache/htdocs。接着,我们将创建一个名为menu.php3的文件,其中包含有一个后台管理任务菜单,如清单5.1所示。
  
  清单5.1 menu.php3
  <?php require('common.inc'); ?>
  <?php affy_header('Administrative Menu') ?>
  <h1>Administrative Menu</h1>
  <ol>
  <li><a href="connect.php3">Creat Database
  Connection</a></li>
  </ol>
  <?php affy_footer() ?>
  
  在文件common.inc中包含对函数affy_header和affy_footer的定义。这些函数在本章中稍后还会出现。
  5.2 创建连接
  当点击Create Database Connect(创建数据库连接)联接时,将会执行connect.php3文件,该文件将尝试连接在第二章学习中安装的MySQL数据库服务器。
  清单5.2 显示了connect.php3文件使用用户名codebits和密码codebits尝试进行数据库连接,因为在安装MySQL时还没有创建该用户名,所以连接肯定失败。然而失败 -- 最起码在本例中 -- 却是一件好事,因为我们可以看看应该如何处理这个问题。图5.1给出了连接失败后将会显示的错误信息和表单。
  
  清单5.2 connect.php3
  
  Page 107 -108 清单 5.2
  
  
  Page 108 Figure 5.1
  
  图5.1 连接失败时的错误信息显示
  
  当数据库连接失败时,程序会给出一个错误信息提示和一个表单,用户可以在里面输入root用户的密码。就像在本章稍后讲的那样,有了root的密码,就可以创建名为codebits的用户。现在先跳过有关$arr_request数组的部分。
  当函数mysql_connect被调用且连接失败时,该函数通常会显示如下信息:
  
  Warnint: MySQL connection Failed: Access denied
  for user: 'codebits@localhost' (Using password: YES)
  
  绝大多数应用程序需要精确的控制显示的内容,尤其是高度图形化的应用程序。在函数mysql_connect前加上(@)符号将会抑制错误信息的显示。
  注意表单语句的action属性指定点击submit按钮时,将会执行connect.php3文件。这是一个递归程序的例子,也就是说允许PHP文件调用它自己。
  应用递归编程技术,可以将有关同一个主题的所有代码编制在同一个文件中。至于什么时候应该将函数组合成一个文件,或将程序分解成几个文件,这得凭经验。我的首要原则是:当实现一个特定功能所编的程序代码超过100行以上时,就要创建一个独立的文件。
  
  5.3 获取HTML表单信息
  即使输入一个密码并点击连接数据库,连接仍然会失败,原因是connect.php3还没有使用表单中的输入值去建立数据库连接。
  PHP引擎将每一个表单域放到一个叫做$HTTP_POST_VARS的数组中。在上述给出的例子中,数组有两个元素:username和password。在此程序中可以通过$HTTP_POST_VARS['username']和$HTTP_POST_VARS['password']访问表单信息。
  使用$HTTP_POST_
展开更多 50%)
分享

猜你喜欢

《PHP程序设计》 第五章 中场一:数据库连接

PHP
《PHP程序设计》 第五章 中场一:数据库连接

PHP学习宝典-第五章

PHP
PHP学习宝典-第五章

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

php数据库连接

PHP
php数据库连接

《PHP程序设计》第一章 什么是PHP?

PHP
《PHP程序设计》第一章 什么是PHP?

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用PHP连接Oracle数据库

PHP
用PHP连接Oracle数据库

SQL在Delphi数据库程序设计应用浅谈

编程语言 网络编程
SQL在Delphi数据库程序设计应用浅谈

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

PHP4中的SESSION管理

PHP4中的SESSION管理

《锁链战记》平民队伍完爆“炼狱挑战第一回”

《锁链战记》平民队伍完爆“炼狱挑战第一回”
下拉加载更多内容 ↓