Heim >php教程 >php手册 >PHP脚本与数据库功能详解(下)

PHP脚本与数据库功能详解(下)

WBOY
WBOYOriginal
2016-06-13 11:39:341121Durchsuche

在上一篇:PHP脚本与数据库功能详解(中),利用PHP将文件保存到数据库,下面我们接着说用类加快PHP的数据库开发
  数据库的访问函数较多,使用不当会降低效率,甚至导致错误。而PHP的本身就是开放的和可扩充的,很多人为它开发各种功能的源代码。每一个PHP程序员都应该善于继承他人的成果,节省时间和精力。站在巨人的肩膀上,才能看得更远。当然,你也可以把你的代码共享出来,体会自己的劳动被承认和创造价值而带来的成就感。

  使用数据库类,可以使我们完全不必考虑具体的数据库类型,而专注于程序的开发上。

  众多的开发工具包中,PHPLib是性能较稳定、功能较完善的一个。PHPLib可以在http://phplib.netuse.de/ 获得。它包含了数据库的支持类。以MySQL数据库为例,PHPLib自带名为DB_Sql的类。它包装了数据库的连接、查询、取结果、数据库表的遍历等功能。

  使用数据库类,可以使我们完全不必考虑具体的数据库类型,而专注于程序的开发上。即使数据库系统类型换了,程序代码也不用改。同时,数据库类提供了完整而健壮的数据库访问方法,这可能是使用类的包装的最大的优势了。
  下面,我们就使用PHPLib提供的数据库类,来访问我们刚才建立的数据库,并对内容进行显示。

  〈?

  require "db_mysql.php";

  //包含数据库类的生成文件

  $db=new DB_Sql;

  //声明数据库类的实例

  $db-〉connect("ResumeDB","localhost", "root", "");

  //连接数据库服务器

  //提供的参数依次为:数据库名,主机名,用户名,用户密码

  if ($db-〉Link_ID)

  //判断是否正确建立连接

  {

   $db-〉query("select ID,Name,Intro FROM Resume");

  //查询

   if ($db-〉nf())

  //判断结果集是否为空

   {

   while ($db-〉next_record())

  //取得下一行记录值,直到记录集内容取完

   {

   echo "ID:", $db-〉f("ID"); //f()函数返回当前记录某个子段的值

   echo "〈br〉";

   echo "姓名:";

   $db-〉p("Name");

  //p()函数直接打印某个子段的值

  //等价于echo $db-〉f("name")

   echo "〈br〉";

   echo "简介:";

   echo $db-〉f("Intro");

   echo "〈br〉";

   echo "〈a href= "download.php?ID=".$db-〉f("ID").""〉查看Word文档〈/a〉";

   echo "〈br〉〈hr〉";

   }

   }

   $db-〉free ();

  //释放资源

  }

  ?〉

  从上面的流程可以看出,用类访问数据库的方法和直接访问数据库的方法基本相同。不同的是,这里我们调用的方法都是类的方法,而不是具体针对某种数据库的函数。由于代码和具体数据库类型的分离,使得当数据库系统改变的时候,我们不用改变程序代码,只要改变基类的实现方法即可。

  如果结合使用PHPLib模板进行设计的话,即可实现程序与显示的分离。也将使得程序结构清晰,网页美工设计制作方便。

  • 共2页:
  • 上一页
  • 1
  • 2
  • 下一页
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn