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


Posted in PHP onOctober 09, 2006

用类加快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

<<全文完>>

PHP 相关文章推荐
PHP_Flame(Version:Progress)的原代码
Oct 09 PHP
PHP获取用户的浏览器与操作系统信息的代码
Sep 04 PHP
教你如何解密 “ PHP 神盾解密工具 ”
Jun 20 PHP
php的ZipArchive类用法实例
Oct 20 PHP
php实现递归与无限分类的方法
Feb 16 PHP
PHP的pcntl多进程用法实例
Mar 19 PHP
浅谈本地WAMP环境的搭建
May 13 PHP
php+html5实现无刷新图片上传教程
Jan 22 PHP
基于laravel制作APP接口(API)
Mar 15 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
Nov 05 PHP
php利用嵌套数组拼接与解析json的方法
Feb 07 PHP
基于php伪静态的实现方法解析
Jul 31 PHP
PHP脚本数据库功能详解(中)
Oct 09 #PHP
PHP脚本数据库功能详解(上)
Oct 09 #PHP
屏蔽浏览器缓存另类方法
Oct 09 #PHP
使用网络地址转换实现多服务器负载均衡
Oct 09 #PHP
php抓即时股票信息
Oct 09 #PHP
利用PHP动态生成VRML网页
Oct 09 #PHP
一个SQL管理员的web接口
Oct 09 #PHP
You might like
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
2007/12/11 PHP
PHP 类商品秒杀计时实现代码
2010/05/05 PHP
php自动加载的两种实现方法
2010/06/21 PHP
php数组函数序列之array_unshift() 在数组开头插入一个或多个元素
2011/11/07 PHP
深入Apache与Nginx的优缺点比较详解
2013/06/17 PHP
php inc文件使用的风险和注意事项
2013/11/12 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
2014/07/18 PHP
PHP中Closure类的使用方法及详解
2015/10/09 PHP
php 参数过滤、数据过滤详解
2015/10/26 PHP
img的onload的另类用法
2008/01/10 Javascript
ext 代码生成器
2009/08/07 Javascript
JS取文本框中最小值的简单实例
2013/11/29 Javascript
js光标定位文本框回车表单提交问题的解决方法
2015/05/11 Javascript
辨析JavaScript中的Undefined类型与null类型
2016/05/26 Javascript
利用js+css+html实现固定table的列头不动
2016/12/08 Javascript
JS 循环li添加点击事件 (闭包的应用)
2016/12/10 Javascript
详解vue跨组件通信的几种方法
2017/06/15 Javascript
Vue.js实现网格列表布局转换方法
2017/08/25 Javascript
Vue 让元素抖动/摆动起来的实现代码
2018/05/31 Javascript
VUE+elementui面包屑实现动态路由详解
2019/11/04 Javascript
Vue通过for循环随机生成不同的颜色或随机数的实例
2019/11/09 Javascript
vue 实现setInterval 创建和销毁实例
2020/07/21 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
2020/08/12 Javascript
[59:30]完美世界DOTA2联赛PWL S3 access vs LBZS 第二场 12.20
2020/12/23 DOTA
Python入门教程之if语句的用法
2015/05/14 Python
自动化Nginx服务器的反向代理的配置方法
2015/06/28 Python
Python利用splinter实现浏览器自动化操作方法
2018/05/11 Python
对Python中数组的几种使用方法总结
2018/06/28 Python
python 遍历目录(包括子目录)下所有文件的实例
2018/07/11 Python
Python3.7实现中控考勤机自动连接
2018/08/28 Python
Python给定一个句子倒序输出单词以及字母的方法
2018/12/20 Python
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
Cecil Mode法国在线商店:女性时尚
2021/01/08 全球购物
幼儿园教师个人总结
2015/02/05 职场文书
Python 用户输入和while循环的操作
2021/05/23 Python
Redis主从复制操作和配置详情
2022/09/23 Redis