用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 10 PHP
在VS2008中编译MYSQL5.1.48的方法
Jul 03 PHP
在PHP中养成7个面向对象的好习惯
Jul 17 PHP
PHP操作MongoDB GridFS 存储文件的详解
Jun 20 PHP
CentOS6.5 编译安装lnmp环境
Dec 21 PHP
php写入数据到CSV文件的方法
Mar 14 PHP
Ubuntu12下编译安装PHP5.3开发环境
Mar 27 PHP
thinkphp如何获取客户端IP
Nov 03 PHP
twig里使用js变量的方法
Feb 05 PHP
php分页查询mysql结果的base64处理方法示例
May 18 PHP
PHP 访问数据库配置通用方法(json)
May 20 PHP
PHP模糊查询技术实例分析【附源码下载】
Mar 07 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
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
2014/11/08 PHP
&amp;lt;script defer&amp;gt; defer 是什么意思
2009/05/10 Javascript
IE 条件注释详解总结(附实例代码)
2009/08/29 Javascript
下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能
2009/09/19 Javascript
收集的10个免费的jQuery相册
2011/02/26 Javascript
简单的前端js+ajax 购物车框架(入门篇)
2011/10/29 Javascript
js返回上一页并刷新代码整理
2012/12/21 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
jQuery中DOM操作实例分析
2015/01/23 Javascript
js判断上传文件后缀名是否合法
2016/01/28 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
Ionic实现页面下拉刷新(ion-refresher)功能代码
2016/06/03 Javascript
js生成随机数(指定范围)的实例代码
2016/07/10 Javascript
JS中关于事件处理函数名后面是否带括号的问题
2016/11/16 Javascript
vue小图标favicon不显示的解决方案
2017/09/19 Javascript
Vue.js实现的表格增加删除demo示例
2018/05/22 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
2018/09/29 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
2018/11/08 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
2019/11/26 jQuery
小程序实现上传视频功能
2020/08/18 Javascript
Python中的并发编程实例
2014/07/07 Python
python爬虫入门教程之点点美女图片爬虫代码分享
2014/09/02 Python
Python实现的字典值比较功能示例
2018/01/08 Python
分享Pycharm中一些不为人知的技巧
2018/04/03 Python
快速一键生成Python爬虫请求头
2021/03/04 Python
科尔士百货公司官网:Kohl’s
2016/07/11 全球购物
米兰网婚纱礼服法国网上商店:Milanoo法国
2016/08/20 全球购物
LODI女鞋在线商店:阿利坎特的鞋类品牌
2019/02/15 全球购物
莫斯科高科技在线商店:KremlinStore
2019/03/13 全球购物
自1926年以来就为冰岛保持温暖:66°North
2020/11/27 全球购物
中学生运动会入场词
2014/02/12 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书
Mysql - 常用函数 每天积极向上
2021/04/05 MySQL
Redis性能监控的实现
2021/07/09 Redis
Spring Security中用JWT退出登录时遇到的坑
2021/10/16 Java/Android