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判断上传的Excel文件中是否有图片及PHPExcel库认识
Jan 11 PHP
PHP批量检测并去除文件BOM头代码实例
May 08 PHP
ThinkPHP3.1新特性之查询条件预处理简介
Jun 19 PHP
PHP中数据库单例模式的实现代码分享
Aug 21 PHP
PHP集成百度Ueditor 1.4.3
Nov 23 PHP
从刷票了解获得客户端IP的方法
Sep 21 PHP
php实现的Curl封装类Curl.class.php用法实例分析
Sep 25 PHP
thinkphp实现163、QQ邮箱收发邮件的方法
Dec 18 PHP
php如何执行非缓冲查询API
Jul 22 PHP
Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法
Aug 16 PHP
PHP的JSON封装、转变及输出操作示例
Sep 27 PHP
php 函数中静态变量使用的问题实例分析
Mar 05 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
德生H-501的评价与改造
2021/03/02 无线电
Php无限级栏目分类读取的实现代码
2014/02/19 PHP
PHP中的reflection反射机制测试例子
2014/08/05 PHP
[原创]php实现 data url的图片生成与保存
2016/12/04 PHP
Yii CDBCriteria常用方法实例小结
2017/01/19 PHP
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
jQuery中hover方法和toggle方法使用指南
2015/02/27 Javascript
JS实现仿FLASH效果的竖排导航代码
2015/09/15 Javascript
jQuery实现立体式数字滚动条增加效果
2016/12/21 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
2016/12/22 Javascript
jquery仿苹果的时间/日期选择效果
2017/03/08 Javascript
Angular2.js实现表单验证详解
2017/06/23 Javascript
bootstrap fileinput实现文件上传功能
2017/08/23 Javascript
ES7之Async/await的使用详解
2019/03/28 Javascript
微信小程序实现单列下拉菜单效果
2019/04/25 Javascript
过滤器vue.filters的使用方法实现
2019/09/18 Javascript
JavaScript 链表定义与使用方法示例
2020/04/28 Javascript
写了个监控nginx进程的Python脚本
2012/05/10 Python
Python Web程序部署到Ubuntu服务器上的方法
2018/02/22 Python
Python中pandas模块DataFrame创建方法示例
2018/06/20 Python
python实现坦克大战游戏 附详细注释
2020/03/27 Python
Django model update的多种用法介绍
2020/03/28 Python
python tkinter图形界面代码统计工具
2019/09/18 Python
python库matplotlib绘制坐标图
2019/10/18 Python
python opencv图片编码为h264文件的实例
2019/12/12 Python
HTML5中图片之间的缝隙完美解决方法
2017/07/07 HTML / CSS
Crabtree & Evelyn欧盟:豪华洗浴、身体和护发
2021/03/09 全球购物
Roxy俄罗斯官方网站:冲浪和滑雪板的一切
2020/06/20 全球购物
美容师的职业规划书
2013/12/27 职场文书
关于青春的演讲稿三分钟
2014/08/22 职场文书
2015社区精神文明建设工作总结
2015/04/21 职场文书
2015年征兵工作总结
2015/07/23 职场文书
golang 实现对Map进行键值自定义排序
2021/04/28 Golang
Jedis操作Redis实现模拟验证码发送功能
2021/09/25 Redis