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文本数据库的搜索方法
Oct 09 PHP
解决GD中文乱码问题
Feb 14 PHP
pw的一个放后门的方法分析
Oct 08 PHP
PHP中的session永不过期的解决思路及实现方法分享
Apr 20 PHP
PHP应用JSON技巧讲解
Feb 03 PHP
php导出word文档与excel电子表格的简单示例代码
Mar 08 PHP
通过php修改xml文档内容的方法
Jan 23 PHP
php使用cookie保存用户登录的用户名实例
Jan 26 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
Dec 19 PHP
php自动加载方式集合
Apr 04 PHP
PHP中OpenSSL加密问题整理
Dec 14 PHP
PDO实现学生管理系统
Mar 21 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计算几分钟前、几小时前、几天前的几个函数、类分享
2014/04/09 PHP
PHP中防止SQL注入方法详解
2014/12/25 PHP
基于PHP给大家讲解防刷票的一些技巧
2015/11/18 PHP
PHP实现压缩图片尺寸并转为jpg格式的方法示例
2018/05/10 PHP
PHP实现正则匹配所有括号中的内容
2018/06/22 PHP
jQuery前台数据获取实现代码
2011/03/16 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
js实现Select列表内容自动滚动效果代码
2015/08/20 Javascript
Bootstrap每天必学之下拉菜单
2015/11/25 Javascript
基于javascript实现窗口抖动效果
2016/01/03 Javascript
Javascript中this绑定的3种方法与比较
2016/10/13 Javascript
Django与Vue语法的冲突问题完美解决方法
2017/12/14 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
mpvue小程序循环动画开启暂停的实现方法
2019/05/15 Javascript
使用easyui从servlet传递json数据到前端页面的两种方法
2019/09/05 Javascript
vuex actions异步修改状态的实例详解
2019/11/06 Javascript
部署Python的框架下的web app的详细教程
2015/04/30 Python
利用python微信库itchat实现微信自动回复功能
2017/05/18 Python
Python3.4实现远程控制电脑开关机
2018/02/22 Python
Django 使用logging打印日志的实例
2018/04/28 Python
linux环境下Django的安装配置详解
2019/07/22 Python
浅谈Python3中print函数的换行
2020/08/05 Python
浅析python字符串前加r、f、u、l 的区别
2021/01/24 Python
工商管理实习自我鉴定
2013/09/28 职场文书
大学生自我鉴定范文模板
2014/01/21 职场文书
付款委托书范本
2014/04/04 职场文书
态度决定一切演讲稿
2014/05/20 职场文书
幼儿园迎国庆65周年活动策划方案
2014/09/16 职场文书
入党政审材料范文
2014/12/24 职场文书
就业推荐表导师评语
2014/12/31 职场文书
提档介绍信范文
2015/10/22 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
股东合作协议书模板2篇
2019/11/05 职场文书
Netflix《海贼王》真人版剧集多张片场照曝光
2022/04/04 日漫
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis
Java 中的 Lambda List 转 Map 的多种方法详解
2022/07/07 Java/Android