用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 相关文章推荐
无限级别菜单的实现
Oct 09 PHP
php数组应用之比较两个时间的相减排序
Aug 18 PHP
PHP引用符&amp;的用法详细解析
Aug 22 PHP
PHP5.5和之前的版本empty函数的不同之处
Jun 13 PHP
php通过ksort()函数给关联数组按照键排序的方法
Mar 18 PHP
php数组函数array_walk用法示例
May 26 PHP
PHP简单日历实现方法
Jul 20 PHP
深入浅析PHP的session反序列化漏洞问题
Jun 15 PHP
PHP获取对象属性的三种方法实例分析
Jan 03 PHP
JS(jQuery)实现聊天接收到消息语言自动提醒功能详解【提示“您有新的消息请注意查收”】
Apr 16 PHP
php文件后缀不强制为.php的实操方法
Sep 18 PHP
TP5框架实现签到功能的方法分析
Apr 05 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
ajax php 实现写入数据库
2009/09/02 PHP
查找php配置文件php.ini所在路径的二种方法
2014/05/26 PHP
JS 的应用开发初探(mootools)
2009/12/19 Javascript
jquery 元素相对定位代码
2010/10/15 Javascript
如何使Chrome控制台支持多行js模式——意外发现
2013/06/13 Javascript
自己使用jquery写的一个无缝滚动的插件
2014/04/30 Javascript
js父页面与子页面不同时显示的方法
2014/10/16 Javascript
JS数组的常见用法实例
2015/02/10 Javascript
nodejs简单实现中英文翻译
2015/05/04 NodeJs
JavaScript判断表单为空及获取焦点的方法
2016/02/12 Javascript
JavaScript-html标题滚动效果的简单实现
2016/09/08 Javascript
AngularJS实用基础知识_入门必备篇(推荐)
2017/07/10 Javascript
在vue项目中安装使用Mint-UI的方法
2017/12/27 Javascript
对Vue- 动态元素属性及v-bind和v-model的区别详解
2018/08/27 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
2019/12/30 jQuery
node.js中fs文件系统模块的使用方法实例详解
2020/02/13 Javascript
js实现跳一跳小游戏
2020/07/31 Javascript
openLayer4实现动态改变标注图标
2020/08/17 Javascript
解决vue初始化项目一直停在downloading template的问题
2020/11/09 Javascript
Python决策树和随机森林算法实例详解
2018/01/30 Python
使用python 打开文件并做匹配处理的实例
2019/01/02 Python
在python下读取并展示raw格式的图片实例
2019/01/24 Python
详解python的四种内置数据结构
2019/03/19 Python
python正则-re的用法详解
2019/07/28 Python
python:批量统计xml中各类目标的数量案例
2020/03/10 Python
Python基于numpy模块实现回归预测
2020/05/14 Python
Python实现像awk一样分割字符串
2020/09/15 Python
英国领先的高街书籍专家:Waterstones
2018/02/01 全球购物
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2013/05/03 面试题
求职者应聘的自我评价
2013/10/16 职场文书
小区门卫管理制度
2014/01/29 职场文书
学生自我评价范文
2014/02/02 职场文书
大学生实习鉴定评语
2014/04/25 职场文书
2015年敬老院工作总结
2015/05/18 职场文书
校运会班级霸气口号
2015/12/24 职场文书
Python爬虫进阶之Beautiful Soup库详解
2021/04/29 Python