用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
smarty 缓存控制前的页面静态化原理
Mar 15 PHP
PHP常用函数和常见疑难问题解答
Mar 05 PHP
ThinkPHP控制器间实现相互调用的方法
Oct 31 PHP
PHP callback函数使用方法和注意事项
Jan 23 PHP
php利用事务处理转账问题
Apr 22 PHP
微信开发之网页授权获取用户信息(二)
Jan 08 PHP
PHP实现的构造sql语句类实例
Feb 03 PHP
twig里使用js变量的方法
Feb 05 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
Jul 22 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
Feb 08 PHP
laravel 查询数据库获取结果实现判断是否为空
Oct 24 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
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
php实现粘贴截图并完成上传功能
2015/05/17 PHP
PHP实现获取某个月份周次信息的方法
2015/08/11 PHP
Yii2实现跨mysql数据库关联查询排序功能代码
2017/02/10 PHP
什么是PHP7中的孤儿进程与僵尸进程
2019/04/14 PHP
Javascript 中文字符串处理额外注意事项
2009/11/15 Javascript
jquery向.ashx文件post中文乱码问题的解决方法
2011/03/28 Javascript
基于jQuery的前端数据通用验证库
2011/08/08 Javascript
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
js字符串转成JSON
2013/11/07 Javascript
JavaScript随机生成信用卡卡号的方法
2015/04/07 Javascript
Javascript中typeof 用法小结
2015/05/12 Javascript
全面详细的jQuery常见开发技巧手册
2016/02/21 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
2017/06/09 Javascript
webpack实现热更新(实施同步刷新)
2017/07/28 Javascript
EasyUI的TreeGrid的过滤功能的解决思路
2017/08/08 Javascript
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
JavaScript面向对象精要(上部)
2017/09/12 Javascript
Three.js如何实现雾化效果示例代码
2017/09/27 Javascript
bootstrap里bootstrap动态加载下拉框的实例讲解
2018/08/10 Javascript
在Vue中获取组件声明时的name属性方法
2018/09/12 Javascript
详解webpack打包vue项目之后生成的dist文件该怎么启动运行
2019/09/06 Javascript
原生js实现无缝轮播图
2020/01/11 Javascript
学习python (1)
2006/10/31 Python
浅谈numpy数组的几种排序方式
2017/12/15 Python
使用Python设计一个代码统计工具
2018/04/04 Python
Python装饰器的执行过程实例分析
2018/06/04 Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
2019/08/06 Python
Python logging设置和logger解析
2019/08/28 Python
使用Python构造hive insert语句说明
2020/06/06 Python
python如何建立全零数组
2020/07/19 Python
PyChon中关于Jekins的详细安装(推荐)
2020/12/28 Python
JINS眼镜官方网站:日本最大的眼镜邮购
2016/10/14 全球购物
简述网络文件系统NFS,并说明其作用
2016/10/19 面试题
民主评议党员自我评价材料
2014/09/18 职场文书
工作经历证明范本
2015/06/15 职场文书