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模板进行设计的话,即可实现程序与显示的分离。也将使得程序结构清晰,网页美工设计制作方便。

  简便的用法、合理的任务分配、合乎思维的对象包装,将使得网站开发效率大大提高。

  附:代码测试平台
  以上程序代码全部在下面的平台测试通过

  RedHat Linux 6.1+Apache1.3.12+

  PHP4.0+MySql3.22.32

  数据库的安装配置过程为:

   cd /usr/local/src/mysql*

   ./configure --refix=/usr/local/mysql

   make

   make install

  Apache的安装配置过程为:

   cd /usr/local/src/apache*

   ./configure --prefix=/usr/local/apache --enable-shared=max

   make

   make install

  PHP的安装配置过程为:

   cd /usr/local/src/php*

   ./configure --with-apxs=/usr/local/apache/bin/apxs

  --with-config-file-path=/usr/local/

  apache/conf

  --with-mysql=/usr/local/mysql

  --enable-debug=no

  --enable-track-vars

  php.ini配置过程为:

   拷贝php.ini-dist到/usr/local/

  apache/conf/php.ini

   编辑httpd.conf,把下面两行的注释去掉

   AddType application/x-httpd-php .php .php3

   AddType application/x-httpd-php-source .phps

  <<全文完>>

(0)

相关推荐

  • PHP脚本数据库功能详解(上)

    在当前互联网发展迅速.电子商务网站层出不穷的形势下,对网站开发的效率和质量提出了越来越高的要求. 对于大型和结构复杂.内容繁多的网站,都要实现网站的动态化和方便的管理.数据管理离不开数据库系统的支持.而衡量一种CGI语言的重要标志,就是它对后台数据库的访问能力.效率等. 而目前流行的PHP脚本语言,它的新特性给我们带来了新的感觉.它支持以面向对象的方式进行设计开发.同时,为了满足网页独特的需要,用模板.XML支持等带来了网站开发的新方法.在语言结构上,PHP具有类似于C++语言的结构,并引入了类

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

    用类加快PHP的数据库开发 数据库的访问函数较多,使用不当会降低效率,甚至导致错误.而PHP的本身就是开放的和可扩充的,很多人为它开发各种功能的源代码.每一个PHP程序员都应该善于继承他人的成果,节省时间和精力.站在巨人的肩膀上,才能看得更远.当然,你也可以把你的代码共享出来,体会自己的劳动被承认和创造价值而带来的成就感. 使用数据库类,可以使我们完全不必考虑具体的数据库类型,而专注于程序的开发上. 众多的开发工具包中,PHPLib是性能较稳定.功能较完善的一个.PHPLib可以在http://

  • PHP脚本数据库功能详解(中)

    利用PHP将文件保存到数据库 数据库是数据组织.存储的中心.将要处理的也可能是各种数据,包括程序.文件.报表,甚至音频.视频数据.由于通过浏览器,个人用户只能填写少部分的个人简历.因此,我们这里示范用户个人简历上载的功能.其他类型的数据可以模仿此例进行操作. 首先是信息收集页面.让用户选择要上载的文件.此页面的html代码如下: 〈!-- begin of post.htm--〉 〈p〉 〈/p〉 〈form method="POST" action="insert.php&

  • Python爬虫爬验证码实现功能详解

    主要实现功能: - 登陆网页 - 动态等待网页加载 - 验证码下载 很早就有一个想法,就是自动按照脚本执行一个功能,节省大量的人力--个人比较懒.花了几天写了写,本着想完成验证码的识别,从根本上解决问题,只是难度太高,识别的准确率又太低,计划再次告一段落. 希望这次经历可以与大家进行分享和交流. Python打开浏览器 相比与自带的urllib2模块,操作比较麻烦,针对于一部分网页还需要对cookie进行保存,很不方便.于是,我这里使用的是Python2.7下的selenium模块进行网页上的操

  • django基础之数据库操作方法(详解)

    Django 自称是"最适合开发有限期的完美WEB框架".本文参考<Django web开发指南>,快速搭建一个blog 出来,在中间涉及诸多知识点,这里不会详细说明,如果你是第一次接触Django ,本文会让你在感性上对Django有个认识,完成本文操作后会让你有兴趣阅读的相关书籍和文档. 本文客操作的环境,如无特别说明,后续都以下面的环境为基础: =================== Windows 7/10 python 3.5 Django 1.10 ======

  • mysql分区功能详解,以及实例分析

    一,什么是数据库分区 前段时间写过一篇关于mysql分表的 的文章,下面来说一下什么是数据库分区,以mysql为例.mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面 (可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存表 索引的.如果一张表的数据量太大的话,那么myd,myi就会变的很大,查找数据就会变的很慢,这个时候我们可以利用mysql的分区功能,在物理上将这 一张

  • python使用paramiko实现ssh的功能详解

    个人认为python的paramiko模块是运维人员必学模块之一,其ssh登录功能是旅行居家必备工具. 安装paramiko很简单,pip install paramiko就搞定了,其依赖库会被一并安装. paramiko的官方站点在这里:http://www.paramiko.org/.有需要深入研究的可以阅读官方文档. paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能. 一.基于用户名和密码的 sshclient 方式登录 # 建立一个sshclient

  • Python实现B站UP主自动监控功能详解

    目录 开发工具 环境搭建 原理简介 1.确定小目标 2.模拟登录 3.自动关注 4.实时监控 效果展示 众所周知,B站有很多有趣的UP主,可以教大家一些"实用"的知识: 但是他们一般都没有固定的更新时间,那么如何才能第一时间知道自己又有新的饭点可以看的下饭素材呢?当然是用python来写个脚本自动监控UP是否更新了视频,并自动下载啦~ 废话不多说,让我们愉快地开始吧~ 开发工具 Python版本:3.7.8 相关模块: DecryptLogin模块: videofetch模块: 以及一

  • ABAP ALV最常规写法及常用功能详解

    目录 先导 流程顺序 开发ALV的基本流程: ALV 界面介绍 ALV 开发注意事项 ALV 基本参数 ALV 对象参数 ALV 参数控制Layout ALV 参数控制Fieldcat ALV定义事件 ALV DEMO 1:声明alv 2:定义内表 3:读取数据 4:字段配置 ALV格式控制. 着重解释 5:定义事件 6:排序(常用功能) 7:显示alv数据 8:按钮操作标题栏等配置 总结 先导 记得刚学ABAP的时候问这问那,问东问西,常常一个可能不怎么用的东西,扣了好久好久.群里的大佬就说,

  • OB系统变量Variables及ODC管理会话功能详解

    目录 参数和变量 Session variables vs Global variables 常用的OB系统变量 (Variables) ODC管理会话功能支持查看和修改会话属性 小结 参数和变量 Session variables vs Global variables • 会话变量:Session 级修改 (只对本会话生效).当客户端连接到数据库后,数据库会复制全局变量以自动生成会话变量.会话变量的修改只对当前会话生效. • set ob_trx_timeout = 200000000 •

随机推荐