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 相关文章推荐
如何开发一个虚拟域名系统
Oct 09 PHP
php仿ZOL分页类代码
Oct 02 PHP
腾讯QQ php程序员面试题目整理
Jun 08 PHP
防止用户利用PHP代码DOS造成用光网络带宽
Mar 01 PHP
php中常用字符串处理代码片段整理
Nov 07 PHP
php中OR与|| AND与&amp;&amp;的区别总结
Oct 26 PHP
PHP加密扩展库Mcrypt安装和实例
Nov 10 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
Mar 13 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
May 20 PHP
postman的安装与使用方法(模拟Get和Post请求)
Aug 06 PHP
Laravel5框架自定义错误页面配置操作示例
Apr 17 PHP
Laravel 解决composer相关操作提示php相关异常的问题
Oct 23 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
19个超实用的PHP代码片段
2014/03/14 PHP
PHP register_shutdown_function()函数的使用示例
2015/06/23 PHP
超强多功能php绿色集成环境详解
2017/01/25 PHP
javascript css在IE和Firefox中区别分析
2009/02/18 Javascript
js getElementsByTagName的简写方式
2010/06/27 Javascript
js加减乘除丢失精度问题解决方法
2014/05/16 Javascript
jQuery实现设置、移除文本框默认值功能
2015/01/13 Javascript
JS中的THIS和WINDOW.EVENT.SRCELEMENT详解
2015/05/25 Javascript
javaScript知识点总结(必看篇)
2016/06/10 Javascript
简单实现IONIC购物车功能
2017/01/10 Javascript
微信小程序 首页制作简单实例
2017/04/07 Javascript
Ionic3 UI组件之autocomplete详解
2017/06/08 Javascript
js事件委托和事件代理案例分享
2017/07/25 Javascript
React中的refs的使用教程
2018/02/13 Javascript
JS处理一些简单计算题
2018/02/24 Javascript
基于vue cli 通过命令行传参实现多环境配置
2018/07/12 Javascript
layui获取多选框中的值方法
2018/08/15 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
2020/07/29 Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
2020/11/16 Javascript
JS实现百度搜索框
2021/02/25 Javascript
python使用正则表达式检测密码强度源码分享
2014/06/11 Python
Python字符串处理函数简明总结
2015/04/13 Python
Python中字典的基本知识初步介绍
2015/05/21 Python
浅谈Python基础之I/O模型
2017/05/11 Python
K-means聚类算法介绍与利用python实现的代码示例
2017/11/13 Python
python学习笔记之列表(list)与元组(tuple)详解
2017/11/23 Python
python redis连接 有序集合去重的代码
2019/08/04 Python
python修改字典键(key)的方法
2019/08/05 Python
tensorflow实现训练变量checkpoint的保存与读取
2020/02/10 Python
Python模拟伯努利试验和二项分布代码实例
2020/05/27 Python
Python绘制组合图的示例
2020/09/18 Python
导出HTML5 Canvas图片并上传服务器功能
2019/08/16 HTML / CSS
锐步香港官方网上商店:Reebok香港
2020/11/05 全球购物
2014年大学生自我评价
2014/01/19 职场文书
给校长的建议书作文500字
2015/09/14 职场文书
IDEA使用SpringAssistant插件创建SpringCloud项目
2021/06/23 Java/Android