用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正则
Jul 07 PHP
PHP 一个页面执行时间类代码
Mar 05 PHP
模板引擎正则表达式调试小技巧
Jul 20 PHP
php 备份数据库代码(生成word,excel,json,xml,sql)
Jun 23 PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
Jun 12 PHP
PHP中常用的输出函数总结
Sep 22 PHP
浅谈php优化需要注意的地方
Nov 27 PHP
php简单判断文本编码的方法
Jul 30 PHP
Linux安装配置php环境的方法
Jan 14 PHP
Zend Framework框架Smarty扩展实现方法
Mar 22 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
Mar 28 PHP
laravel中的fillable和guarded属性详解
Oct 23 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
smarty模板中拼接字符串的方法
2014/02/14 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
jQuery使用手册之一
2007/03/24 Javascript
学习JavaScript设计模式之单例模式
2016/01/19 Javascript
原生JS实现图片懒加载(lazyload)实例
2017/06/13 Javascript
详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持
2017/10/21 Javascript
jQuery实现切换隐藏与显示同时切换图标功能
2017/10/29 jQuery
微信小程序用户自定义模版用法实例分析
2017/11/28 Javascript
vue 组件的封装之基于axios的ajax请求方法
2018/08/11 Javascript
详解vue-router导航守卫
2019/01/19 Javascript
使用react context 实现vue插槽slot功能
2019/07/18 Javascript
vue实现输入框自动跳转功能
2020/05/20 Javascript
深入了解Vue3模板编译原理
2020/11/19 Vue.js
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
2020/12/25 Vue.js
python获取文件版本信息、公司名和产品名的方法
2014/10/05 Python
详解使用pymysql在python中对mysql的增删改查操作(综合)
2017/01/18 Python
python入门教程之识别验证码
2017/03/04 Python
python实现五子棋小游戏
2020/03/25 Python
详解python执行shell脚本创建用户及相关操作
2019/04/11 Python
Python aiohttp百万并发极限测试实例分析
2019/10/26 Python
python数值基础知识浅析
2019/11/19 Python
opencv-python 提取sift特征并匹配的实例
2019/12/09 Python
解决Python使用列表副本的问题
2019/12/19 Python
python爬虫基础之urllib的使用
2020/12/31 Python
HTML5移动端手机网站开发流程
2016/04/25 HTML / CSS
关于webview适配H5上传照片或者视频文件的方法
2020/11/04 HTML / CSS
BCBG官网:BCBGMAXAZRIA
2017/12/29 全球购物
澳大利亚儿童精品仓库:Goo & Co.
2019/06/20 全球购物
一年级学生评语
2014/04/23 职场文书
大学优秀班集体申报材料
2014/05/23 职场文书
团队拓展活动方案
2014/08/28 职场文书
2014年居委会工作总结
2014/12/09 职场文书
领导参观欢迎词
2015/01/26 职场文书
运动会100米广播稿
2015/08/19 职场文书
2016大学军训心得体会
2016/01/11 职场文书
springboot 多数据源配置不生效遇到的坑及解决
2021/11/17 Java/Android