用DBSQL类加快开发MySQL数据库程序的速度


Posted in PHP onOctober 09, 2006

当你在编写存取MYSQL的数据库程序时,是不是觉得很麻烦:一大套的函数和参数,还要检查调用的结果,更头痛的是每个程序里都要包含数据库名、用户、密码等,想修改都不容易。但如果你使用PHPLIB里的DBSQL类,这些问题都会迎刃而解的。这篇文章将教你如何使用DBSQL类。  

一、获得DBSQL  

怎么获得DBSQL呢,有两个办法:  
- 由于DBSQL是PHPLIB的一部分,你可以从本站或http://phplib.netuse.de下载一份PHPLIB  
- 直接从本站下载DBSQL类,我已经把它独立了,并做了一些小的修改。下载地址:http://www.phpuser.com/programs_and_code/codedetail.php?id=3  

二、修改DBSQL文件。  
打开文件,找到大约138行处,把$Host, $Database, $User, $Password等四个变量改成你机器上的值。  

三、使用DBSQL  

就这么简单,可以派上用场了了,下面是一个典型的例子(这里我们假设DBSQL类存放在db.php文件里):  
<?  
01 require "db.php";  
02 $db=new DBSQL;  
03 $db->connect();  
04 if ($db->Link_ID)  
{  
05 $db->query("SELECT id, name FROM contact WHERE id > 100 AND id  
< 200");  
06 if ($db->nf())  
{  
07 while ($db->next_record())  
{  
08 echo "id=", $db->f("id");  
09 echo "<br>";  
10 echo "name";  
11 $db->p('name');  
12 echo "<br>";  
}  
}  
13 $db->free_result();  
}  
?>  
我来逐行解释一下:  
01-将db.php文件包含进来  
02-创建一个DBSQL类的实例,变量名为:$db  
03-调用DBSQL的connect()方法,连接数据库。这行的作用跟mysql_pconnect(host,  
db, passwd)一样  
04-通过检查$db的属性Link_ID的值来判断连接是否成功。一般来说只要配置没问题,这步可以省略的  
05-如果连接没问题,就调用DBSQL类的query方法来执行查询  
06-DBSQL类的nf()函数返回查询后返回的记录的条数,跟mysql_num_rows()的作用一样。如果找到了记录,继续执行  
07-用一个while循环,以DBSQL的next_record()方法为条件。next_record()方法把DBSQL类的结果的指针往下移一条,如果到了结尾,就返回假值  
08-用DBSQL类的f()方法取回查询结果当前一行的某个字段的值。该方法的参数是字段的名字,如$db->f("id")  
11-用DBSQL类的p()方法。p()方法与f()方法不同的是它把查询结果当前一行的某个字段的值直接输出了。该方法的参数是与f()方法一样也是字段的名字,如$db->p("id")  
13-释放PHP占用的内存。相当于调用了mysql_free_result函数  

DBSQL的基本用法就是这样,当然还有其他一些,我在下面来介绍。  

四、其他内容  

Auto_free属性:如果设为真值,当调用next_record()方法到达查询结果的结尾时,DBSQL自动执行free_result()方法,释放占用的内存  DebugMode属性:如果设为真值,在执行query()方法时,会把查询的SQL语句打印出来,所以在做调试时特别有用  

seek()方法:移动DBSQL查询结果的指针,第一个为0  
num_rows()方法:跟nf()方法一样,返回查询结果的记录条数  
metadata()方法:以表名为参数,返回一个包括该表的结果的数组 

PHP 相关文章推荐
高亮度显示php源代码
Oct 09 PHP
用ADODB来让PHP操作ACCESS数据库的方法
Dec 31 PHP
PHP CKEditor 上传图片实现代码
Nov 06 PHP
PHP JSON 数据解析代码
May 26 PHP
判断Keep-Alive模式的HTTP请求的结束的实现代码
Aug 06 PHP
Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解
Jun 02 PHP
php的XML文件解释类应用实例
Sep 22 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
Sep 24 PHP
PHP读取汉字的点阵数据
Jun 22 PHP
php实现过滤字符串中的中文和数字实例
Jul 29 PHP
PHP小偷程序的设计与实现方法详解
Oct 15 PHP
详解PHP中mb_strpos的使用
Feb 04 PHP
一个简洁的多级别论坛
Oct 09 #PHP
用ODBC的分页显示
Oct 09 #PHP
为查询结果建立向后/向前按钮
Oct 09 #PHP
投票管理程序
Oct 09 #PHP
用PHP和ACCESS写聊天室(九)
Oct 09 #PHP
用PHP和ACCESS写聊天室(八)
Oct 09 #PHP
用PHP和ACCESS写聊天室(七)
Oct 09 #PHP
You might like
Php注入点构造代码
2008/06/14 PHP
Php获取金书网的书名的实现代码
2010/06/11 PHP
div li的多行多列 无刷新分页示例代码
2013/10/16 PHP
php+mysqli使用预处理技术进行数据库查询的方法
2015/01/28 PHP
在Debian系统下配置LNMP的教程
2015/07/09 PHP
php制作基于xml的RSS订阅源功能示例
2017/02/08 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
jQuery checkbox全选/取消全选实现代码
2009/11/14 Javascript
深入理解JavaScript 闭包究竟是什么
2013/04/12 Javascript
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
2014/12/16 Javascript
详解JavaScript中的blink()方法的使用
2015/06/08 Javascript
解决jquery实现的radio重新选中的问题
2015/07/03 Javascript
图文详解Heap Sort堆排序算法及JavaScript的代码实现
2016/05/04 Javascript
jQuery实现订单提交页发送短信功能前端处理方法
2016/07/04 Javascript
Google 地图控件集详解及实例代码
2016/08/06 Javascript
基于JavaScript实现窗口拖动效果
2017/01/18 Javascript
vue中用动态组件实现选项卡切换效果
2017/03/25 Javascript
ECMAscript 变量作用域总结概括
2017/08/18 Javascript
vue项目总结之文件夹结构配置详解
2017/12/13 Javascript
iView-admin 动态路由问题的解决方法
2018/10/03 Javascript
vue集成kindeditor富文本的实现示例代码
2019/06/07 Javascript
利用JS代码自动删除稿件的普通弹幕功能
2019/09/20 Javascript
vue 输入电话号码自动按3-4-4分割功能的实现代码
2020/04/30 Javascript
Vue3 的响应式和以前有什么区别,Proxy 无敌?
2020/05/20 Javascript
如何手写一个简易的 Vuex
2020/10/10 Javascript
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
pandas 将list切分后存入DataFrame中的实例
2018/07/03 Python
python实现指定字符串补全空格、前面填充0的方法
2018/11/16 Python
python 中的命名空间,你真的了解吗?
2020/08/19 Python
五型班组建设方案
2014/02/10 职场文书
货物运输服务质量承诺书
2014/05/29 职场文书
学生偷窃检讨书
2014/09/25 职场文书
2014大四本科生自我鉴定总结
2014/10/04 职场文书
2015高考寄语集锦
2015/02/27 职场文书
深入理解redis中multi与pipeline
2021/06/02 Redis
分析Netty直接内存原理及应用
2021/06/14 Java/Android