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中对各种加密算法、Hash算法的速度测试对比代码
Jul 08 PHP
php实现检查文章是否被百度收录
Jan 27 PHP
Smarty中的注释和截断功能介绍
Apr 09 PHP
PHP获取数组的键与值方法小结
Jun 13 PHP
如何使用PHP给图片加水印
Oct 12 PHP
PHP基于自定义类随机生成姓名的方法示例
Aug 05 PHP
CentOS7.0下安装PHP5.6.30服务的教程详解
Sep 29 PHP
thinkphp5实现无限级分类
Feb 18 PHP
PHP hex2bin()函数用法讲解
Feb 25 PHP
PHP cookie与session会话基本用法实例分析
Nov 18 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
Mar 26 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
Mar 27 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数据类型的总结分析
2013/06/13 PHP
PHP图片库imagemagick安装方法
2014/09/23 PHP
PHP导出带样式的Excel示例代码
2016/08/28 PHP
js资料toString 方法
2007/03/13 Javascript
广告代码静态化js通用函数
2007/05/09 Javascript
js异常捕获方法介绍
2013/04/10 Javascript
JavaScript的继承的封装介绍
2013/10/15 Javascript
javascript实现yield的方法
2013/11/06 Javascript
Jquery给基本控件的取值、赋值示例
2014/05/23 Javascript
javascript实现控制文字大中小显示
2015/04/28 Javascript
jQuery实现类似标签风格的导航菜单效果代码
2015/08/25 Javascript
JavaScript实现页面跳转的方式汇总
2016/05/16 Javascript
jQuery中$.grep() 过滤函数 数组过滤
2016/11/22 Javascript
微信小程序 欢迎页面的制作(源码下载)
2017/01/09 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
利用vscode编写vue的简单配置详解
2017/06/17 Javascript
Vue2.0 组件传值通讯的示例代码
2017/08/01 Javascript
简单实现js进度条加载效果
2020/03/25 Javascript
在vue组件中使用axios的方法
2018/03/16 Javascript
JavaScript函数apply()和call()用法与异同分析
2018/08/10 Javascript
JavaScript的查询机制LHS和RHS解析
2019/08/16 Javascript
使用PreloadJS加载图片资源的基础方法详解
2020/02/03 Javascript
最全vue的vue-amap使用高德地图插件画多边形范围的示例代码
2020/07/17 Javascript
[01:48]完美圣典齐天大圣至宝宣传片
2016/12/17 DOTA
Python脚本按照当前日期创建多级目录
2019/03/01 Python
Python爬取知乎图片代码实现解析
2019/09/17 Python
pytorch中tensor张量数据类型的转化方式
2019/12/31 Python
python与c语言的语法有哪些不一样的
2020/09/13 Python
New Balance英国官方网站:始于1906年,百年慢跑品牌
2016/12/07 全球购物
三年级科学教学反思
2014/01/29 职场文书
社区巾帼文明岗事迹材料
2014/06/03 职场文书
建筑工地标语
2014/06/18 职场文书
反腐倡廉警示教育活动心得体会
2014/09/04 职场文书
小学少先队辅导员述职报告
2015/01/10 职场文书
公司考勤管理制度
2015/08/04 职场文书
校园运动会广播稿
2015/08/19 职场文书