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 相关文章推荐
简单的过滤字符串中的HTML标记
Dec 25 PHP
PHP 循环列出目录内容的函数代码
May 26 PHP
thinkphp循环结构用法实例
Nov 24 PHP
php第一次无法获取cookie问题处理
Dec 15 PHP
php array_merge_recursive 数组合并
Oct 26 PHP
php将html转为图片的实现方法
May 19 PHP
什么是PHP文件?如何打开PHP文件?
Jun 27 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
Sep 30 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
Aug 06 PHP
Yii2.0建立公共方法简单示例
Jan 29 PHP
PHP进阶学习之反射基本概念与用法分析
Jun 18 PHP
PHP isset empty函数相关面试题及解析
Dec 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
Smarty结合Ajax实现无刷新留言本实例
2007/01/02 PHP
php实现上传图片生成缩略图示例
2014/04/13 PHP
php读取csc文件并输出
2015/05/21 PHP
php使用Jpgraph绘制3D饼状图的方法
2015/06/10 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
php实现产品加入购物车功能(1)
2020/07/23 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
javascript OFFICE控件测试代码
2009/12/08 Javascript
有道JavaScript监听浏览器的问题
2010/06/23 Javascript
使用jQuery全局事件ajaxStart为特定请求实现提示效果的代码
2010/12/30 Javascript
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
2014/06/23 Javascript
jquery append 动态添加的元素事件on 不起作用的解决方案
2015/07/30 Javascript
简单实现异步编程promise模式
2015/07/31 Javascript
AngularJS中如何使用$parse或$eval在运行时对Scope变量赋值
2016/01/25 Javascript
详解打造 Vue.js 可复用组件
2017/03/24 Javascript
JS简单实现数组去重的方法示例
2017/03/27 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
2019/06/06 Javascript
vue.js实现回到顶部动画效果
2019/07/31 Javascript
Vue Element校验validate的实例
2020/09/21 Javascript
[02:48]DOTA2英雄基础教程 暗夜魔王
2013/12/12 DOTA
通过C++学习Python
2015/01/20 Python
python遍历目录的方法小结
2016/04/28 Python
python opencv将图片转为灰度图的方法示例
2019/07/31 Python
实例代码讲解Python 线程池
2020/08/24 Python
一款纯css3实现的tab选项卡的实列教程
2014/12/11 HTML / CSS
Vans澳大利亚官网:购买鞋子、服装及配件
2019/09/05 全球购物
家长会邀请书
2014/01/25 职场文书
西门豹教学反思
2014/02/04 职场文书
保险经纪人求职信
2014/03/11 职场文书
法律系毕业生自荐信范文
2014/03/27 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
员工年终自我评价
2014/09/14 职场文书
初中生活随笔
2015/08/15 职场文书
MySQL删除和插入数据很慢的问题解决
2021/06/03 MySQL
Python实现查询剪贴板自动匹配信息的思路详解
2021/07/09 Python
Nginx配置文件详解以及优化建议指南
2021/09/15 Servers