用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 Smarty生成EXCEL文档的代码
Aug 23 PHP
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
Dec 19 PHP
php字符串截取的简单方法
Jul 04 PHP
遭遇php的in_array低性能问题
Sep 17 PHP
PHP使用ob_start生成html页面的方法
Nov 07 PHP
ThinkPHP3.2.2的插件控制器功能
Mar 05 PHP
php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
May 31 PHP
PHP Oauth授权和本地加密实现方法
Aug 12 PHP
PHP文件上传处理案例分析
Oct 15 PHP
php compact 通过变量创建数组
Nov 15 PHP
PHP数组内存利用率低和弱类型详细解读
Aug 10 PHP
如何通过Apache在本地配置多个虚拟主机
Jul 29 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
虫族 ZERG 概述
2020/03/14 星际争霸
php的一个简单加密解密代码
2014/01/14 PHP
PHP中SESSION的注销与清除
2015/04/16 PHP
JavaScript.The.Good.Parts阅读笔记(二)作用域&amp;闭包&amp;减缓全局空间污染
2010/11/16 Javascript
js window.onload 加载多个函数和追加函数详解
2014/01/08 Javascript
javascript怎么禁用浏览器后退按钮
2014/03/27 Javascript
jQuery事件绑定和委托实例
2014/11/25 Javascript
js使用DOM设置单选按钮、复选框及下拉菜单的方法
2015/01/20 Javascript
常用的JavaScript模板引擎介绍
2015/02/28 Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
2015/07/27 Javascript
jQuery页面刷新(局部、全部)问题分析
2016/01/09 Javascript
星期几的不同脚本写法(推荐)
2016/06/01 Javascript
总结Node.js中的一些错误类型
2016/08/15 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
2016/09/26 Javascript
JS公共小方法之判断对象是否为domElement的实例
2016/11/25 Javascript
JS监控关闭浏览器操作的实例详解
2017/09/12 Javascript
详解Nodejs 通过 fs.createWriteStream 保存文件
2017/10/10 NodeJs
npm全局模块卸载及默认安装目录修改方法
2018/05/15 Javascript
非常实用的jQuery代码段集锦【检测浏览器、滚动、复制、淡入淡出等】
2019/08/08 jQuery
jQuery实现简单弹幕效果
2019/11/28 jQuery
使用go和python递归删除.ds store文件的方法
2014/01/22 Python
Python性能分析工具Profile使用实例
2019/11/19 Python
python将图片转base64,实现前端显示
2020/01/09 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
详解如何使用CSS3中的结构伪类选择器和伪元素选择器
2020/01/06 HTML / CSS
孕妇装中的著名品牌:Isabella Oliver(伊莎贝拉·奥利弗)
2016/10/31 全球购物
中文专业毕业生自荐信
2013/10/28 职场文书
学生党员思想汇报
2013/12/28 职场文书
六查六看剖析材料
2014/02/15 职场文书
《美丽的黄昏》教学反思
2014/02/28 职场文书
应届生求职自荐信范文
2014/04/07 职场文书
充分就业社区汇报材料
2014/05/07 职场文书
新学期红领巾广播稿
2014/10/04 职场文书
机关单位保密工作责任书
2015/05/11 职场文书
公司老总年会致辞
2015/07/30 职场文书
《中华上下五千年》读后感3篇
2019/11/29 职场文书