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 Google的translate API代码
Dec 10 PHP
PHP COOKIE设置为浏览器进程
Jun 21 PHP
php下图片文字混合水印与缩略图实现代码
Dec 11 PHP
在IIS7.0下面配置PHP 5.3.2运行环境的方法
Apr 13 PHP
PHP时间戳与日期之间转换的实例介绍
Apr 19 PHP
PHP下打开phpMyAdmin出现403错误的问题解决方法
May 23 PHP
php变量作用域的深入解析
Jun 03 PHP
PHP面向对象教程之自定义类
Jun 10 PHP
PHP上传图片类显示缩略图功能
Jun 30 PHP
Windows2003下php5.4安装配置教程(IIS)
Jun 30 PHP
微信支付开发订单查询实例
Jul 12 PHP
Yii 访问 Gii(脚手架)时出现 403 错误
Jun 06 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 什么是PEAR?(第二篇)
2009/03/19 PHP
使用PHP获取网络文件的实现代码
2010/01/01 PHP
9个PHP开发常用功能函数小结
2011/07/15 PHP
linux系统上支持php的 iconv()函数的方法
2011/10/01 PHP
php 字符串中的\n换行符无效、不能换行的解决方法
2014/04/02 PHP
PHP根据传来的16进制颜色代码自动改变背景颜色
2014/06/13 PHP
yii实现图片上传及缩略图生成的方法
2014/12/04 PHP
thinkPHP中验证码的简单使用方法
2015/12/26 PHP
ThinkPHP路由机制简介
2016/03/23 PHP
PhpStorm+xdebug+postman调试技巧分享
2020/09/15 PHP
找到了一篇jQuery与Prototype并存的冲突的解决方法
2007/08/29 Javascript
jQuery学习基础知识小结
2010/11/25 Javascript
html页面显示年月日时分秒和星期几的两种方式
2013/08/20 Javascript
利用JS判断用户是否上网(连接网络)
2013/12/23 Javascript
详解javascript实现自定义事件
2016/01/19 Javascript
js计算系统当前日期是星期几的方法
2016/07/14 Javascript
Javascript中判断一个值是否为undefined的方法详解
2016/09/28 Javascript
javascript实现去除HTML标签的方法
2016/12/26 Javascript
js最简单的双向绑定实例讲解
2018/01/02 Javascript
vuex存储复杂参数(如对象数组等)刷新数据丢失的解决方法
2019/11/05 Javascript
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
关于angular引入ng-zorro的问题浅析
2020/09/09 Javascript
[04:56]经典回顾:前Ehome 与 前LGD
2015/02/26 DOTA
Python random模块用法解析及简单示例
2017/12/18 Python
解决python selenium3启动不了firefox的问题
2018/10/13 Python
在django模板中实现超链接配置
2019/08/21 Python
Python获取、格式化当前时间日期的方法
2020/02/10 Python
标签和贴纸印刷:Lightning Labels
2018/03/22 全球购物
e路東瀛(JAPANiCAN)香港:日本旅游、日本酒店和温泉旅馆预订
2018/11/21 全球购物
客服服务心得体会
2013/12/30 职场文书
营销部内勤岗位职责
2014/04/30 职场文书
2014年秋季开学演讲稿
2014/05/24 职场文书
小学班级特色活动方案
2014/08/31 职场文书
委托书的写法
2014/09/16 职场文书
2016年学校综治宣传月活动总结
2016/03/16 职场文书
Java字符缓冲流BufferedWriter
2022/04/09 Java/Android