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 相关文章推荐
利用static实现表格的颜色隔行显示
Oct 09 PHP
傻瓜化配置PHP环境――Appserv
Dec 13 PHP
wiki-shan写的php在线加密的解密程序
Sep 07 PHP
PHP冒泡排序算法代码详细解读
Jul 17 PHP
simplehtmldom Doc api帮助文档
Mar 26 PHP
php连接mssql数据库的几种方法
Feb 21 PHP
探讨fckeditor在Php中的配置详解
Jun 08 PHP
两级联动select刷新后其值保持不变的实现方法
Jan 27 PHP
排序算法之PHP版快速排序、冒泡排序
Apr 09 PHP
typecho插件编写教程(四):插件挂载
May 28 PHP
PHP版本常用的排序算法汇总
Dec 20 PHP
thinkPHP5框架自定义验证器实现方法分析
Jun 11 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
基于文本的留言簿
2006/10/09 PHP
PHP生成网页快照 不用COM不用扩展.
2010/02/11 PHP
浅谈PHP中Stream(流)
2015/06/08 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
2016/10/22 PHP
php正则表达式基本知识与应用详解【经典教程】
2017/04/17 PHP
php使用str_replace替换多维数组的实现方法分析
2017/06/15 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
疯掉了,尽然有js写的操作系统
2007/04/23 Javascript
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
2011/04/24 Javascript
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
jQuery fadeTo方法调整图片的透明度使用介绍
2013/05/06 Javascript
利用js 进行输入框自动匹配字符的小例子
2013/06/29 Javascript
分享9点个人认为比较重要的javascript 编程技巧
2015/04/27 Javascript
jQuery+html5+css3实现圆角无刷新表单带输入验证功能代码
2015/08/21 Javascript
AngularJS 日期格式化详解
2015/12/23 Javascript
AngularJS通过$http和服务器通信详解
2016/09/21 Javascript
jQuery UI插件实现百度提词器效果
2016/11/21 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
2017/02/22 Javascript
Cookies 和 Session的详解及区别
2017/04/21 Javascript
vue-router路由参数刷新消失的问题解决方法
2017/06/17 Javascript
记录vue项目中遇到的一点小问题
2019/05/14 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
2019/06/11 Javascript
详解JavaScript之ES5的继承
2020/07/08 Javascript
在Python中pandas.DataFrame重置索引名称的实例
2018/11/06 Python
python3.6根据m3u8下载mp4视频
2019/06/17 Python
10款最佳Python开发工具推荐,每一款都是神器
2020/10/15 Python
jupyter notebook远程访问不了的问题解决方法
2021/01/11 Python
美国设计师精美珠宝购物网:Netaya
2016/08/28 全球购物
芭比波朗加拿大官方网站:Bobbi Brown Cosmetics CA
2020/11/05 全球购物
Linux内核的同步机制是什么?主要有哪几种内核锁
2013/01/03 面试题
婚礼证婚人证婚词
2014/01/08 职场文书
集体生日活动方案
2014/08/18 职场文书
保证书格式
2015/01/16 职场文书
银行文明优质服务培训心得体会
2016/01/09 职场文书
从结婚开始的恋爱故事。小说《我的美好婚事》TV动画化决定
2022/04/07 日漫
win10滚动条自动往上跑怎么办?win10滚动条自动往上跑的解决方法
2022/08/05 数码科技