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文本操作类
Nov 25 PHP
PHP编程最快明白(第一讲 软件环境和准备工作)
Oct 25 PHP
php自动加载机制的深入分析
Jun 08 PHP
PHP加Nginx实现动态裁剪图片方案
Mar 10 PHP
PHP函数addslashes和mysql_real_escape_string的区别
Apr 22 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
Mar 12 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
May 20 PHP
PHP 进度条函数的简单实例
Sep 19 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
Feb 07 PHP
微信企业转账之入口类分装php代码
Oct 01 PHP
thinkPHP5框架接口写法简单示例
Aug 05 PHP
PHP7变量处理机制修改
Mar 09 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/12/15 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
2016/11/09 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
Laravel推荐使用的十个辅助函数
2019/05/10 PHP
laravel-admin 实现给grid的列添加行数序号的方法
2019/10/08 PHP
Javascript Memoizer浅析
2014/10/16 Javascript
Javascript编写2048小游戏
2015/07/07 Javascript
尝试动手制作javascript放大镜效果
2015/12/25 Javascript
vue.js学习之vue-cli定制脚手架详解
2017/07/02 Javascript
从源码看angular/material2 中 dialog模块的实现方法
2017/10/18 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
Vue使用Canvas绘制图片、矩形、线条、文字,下载图片
2019/04/26 Javascript
JS实现图片切换特效
2019/12/23 Javascript
Python中生成器和yield语句的用法详解
2015/04/17 Python
Python3 处理JSON的实例详解
2017/10/29 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
2017/11/30 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
2018/09/02 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
2020/02/04 Python
jupyter notebook中美观显示矩阵实例
2020/04/17 Python
Python Django中间件使用原理及流程分析
2020/06/13 Python
THE OUTNET美国官网:国际设计师品牌折扣网站
2017/03/07 全球购物
美国网上鞋子零售商:Dr. Scholl’s Shoes
2017/11/17 全球购物
如何理解委托
2012/01/06 面试题
计划生育证明格式及范本
2014/10/09 职场文书
80后婚前协议书范本
2014/10/24 职场文书
团组织推优材料
2014/12/29 职场文书
教师个人教学总结
2015/02/11 职场文书
2015年检验科工作总结
2015/04/27 职场文书
2015年国培研修感言
2015/08/01 职场文书
保险公司增员口号
2015/12/25 职场文书
学校中层领导培训心得体会
2016/01/11 职场文书
高三数学教学反思
2016/02/18 职场文书
导游词之永济鹳雀楼
2020/01/16 职场文书
golang语言指针操作
2022/04/14 Golang
PostgreSQL基于pgrouting的路径规划处理方法
2022/04/18 PostgreSQL