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 编写大型网站问题集
May 07 PHP
PHP IN_ARRAY 函数使用注意事项
Jul 24 PHP
使用PHP实现二分查找算法代码分享
Jun 24 PHP
PHP删除数组中的特定元素的代码
Jun 28 PHP
深入php 正则表达式的学习探讨
Jun 06 PHP
关于PHPDocument 代码注释规范的总结
Jun 25 PHP
ThinkPHP中url隐藏入口文件后接收alipay传值的方法
Dec 09 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
Mar 24 PHP
php中array_multisort对多维数组排序的方法
Jun 21 PHP
PHP实现文件上传和多文件上传
Dec 24 PHP
PHP实现浏览器格式化显示XML的方法示例
Jan 22 PHP
Laravel框架实现的使用smtp发送邮件功能示例
Mar 12 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
ThinkPHP CURD方法之where方法详解
2014/06/18 PHP
php实现scws中文分词搜索的方法
2015/12/25 PHP
PHP中SQL查询语句的id=%d解释(推荐)
2016/12/10 PHP
PHP实现的简单路由和类自动加载功能
2018/03/13 PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
2020/12/01 PHP
枚举JavaScript对象的函数
2006/12/22 Javascript
javascript 全角转换实现代码
2009/07/17 Javascript
基于jquery的Repeater实现代码
2010/07/17 Javascript
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
2010/07/29 Javascript
页面只能打开一次Cooike如何实现
2012/12/04 Javascript
下载文件个别浏览器文件名乱码解决办法
2013/03/19 Javascript
jQuery中:enabled选择器用法实例
2015/01/04 Javascript
javascript获取四位数字或者字母的随机数
2015/01/09 Javascript
jquery实现简易的移动端验证表单
2015/11/08 Javascript
javascript瀑布流布局实现方法详解
2016/02/17 Javascript
javascript制作照片墙及制作过程中出现的问题
2016/04/04 Javascript
NodeJs——入门必看攻略
2016/06/27 NodeJs
移动端使用localStorage缓存Js和css文的方法(web开发)
2016/09/20 Javascript
vue watch自动检测数据变化实时渲染的方法
2018/01/16 Javascript
[40:01]OG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
跟老齐学Python之大话题小函数(2)
2014/10/10 Python
Python实现根据IP地址和子网掩码算出网段的方法
2015/07/30 Python
python解决汉字编码问题:Unicode Decode Error
2017/01/19 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
在Python中使用MongoEngine操作数据库教程实例
2019/12/03 Python
使用Python内置模块与函数进行不同进制的数的转换
2020/04/26 Python
Python 处理日期时间的Arrow库使用
2020/08/18 Python
const char*, char const*, char*const的区别是什么
2014/07/09 面试题
创联软件面试题笔试题
2012/10/07 面试题
研究生毕业自我鉴定范文
2014/03/27 职场文书
关于运动会广播稿300字
2014/10/05 职场文书
供应商食品安全承诺书
2015/04/29 职场文书
和谐拯救危机观后感
2015/06/15 职场文书
大学三好学生主要事迹范文
2015/11/03 职场文书
《分数乘法》教学反思
2016/02/24 职场文书
Redis 操作多个数据库的配置的方法实现
2022/03/23 Redis