PHP脚本数据库功能详解(3)
(作者:王凯波)用类加快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
<<全文完>>
↓相关文章:
- · Session是否必须依赖Cookie
- · PHP 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
- · 对盗链说再见...
- · [FAQ]PHP中的一些常识:类篇
- · Oracle Faq(如何在ORACLE中更改表的列名和顺序 )
- · Oracle Faq(Oracle的字符集问题)
- · PHP 和 HTML
- · PHP安装问题
- · PHP 和 COM
- · 提问的智慧(2)
- · apache的几个设置(目录,权限等)
- · 用PHPdig打造属于你自己的Google
- · 利用PHP和AJAX创建RSS聚合器
- · PHP5的异常处理机制之使用throw关键字
- · AJAX在PHP中的简单使用
- · web开发中PHP+MySQL分页显示示例分析
- · 使用PHP编写基于Web的文件管理系统
- · Discuz论坛2.5 升级到PHP MySQL新版遇到的问题
- · 三招针对PHP木马攻击的易行防御之道
- · PHP程序漏洞产生的原因和防范方法
- · PHP取得当前插入数据库中记录的id值
- · php中关于处理字符串时效率的讨论
- · PHP+Access设计留言版实战
- · PHP实现的文件直接输出下载
- · PHP建立动态的WML站点
- · 简单站内HTML文件搜索程序
- · 自建Blog网站完全图解
- · phpMyAdmin2.6以上版本数据乱码问题
- · 关于PHP事件驱动问题之我见
- · PHP + BAT 制作PHP自解析批处理
- · [图片 显示] 缩图循环显示(php,mysql,script)
- · mysql 自动备份----aspbiz
- · PHP日常实用小Tips
- · Php应用实例--新增资料录到MySQL资料表
- · PHP-Push技术实现刷新功能 转载
- · 四种提示框代码
- · php 分析rss代码一段
- · 如何正确理解 PHP 的错误信息
- · 身份证方面的函数
- · Win XP下全新安装Apache2,PHP5,MYSQL5
- · linux下apache+mysql+php开发环境纯源代码编译搭建
- · RedhatAS3.0上安装Apache2+PHP5+MySQL+Resin+SSL+GD+weba
- · 给图片生成缩略图和加版权的类
- · 一段防盗连的PHP代码
- · 一个FTP树状目录(PHP)

