用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 相关文章推荐
使用sockets:从新闻组中获取文章(二)
Oct 09 PHP
PHP 处理图片的类实现代码
Oct 23 PHP
php中怎么搜索相关联数组键值及获取之
Oct 17 PHP
php中的PHP_EOL换行符详细解析
Oct 26 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
Jul 12 PHP
php使用google地图应用实例
Dec 31 PHP
PHP中开启gzip压缩的2种方法
Jan 31 PHP
codeigniter发送邮件并打印调试信息的方法
Mar 21 PHP
浅谈php7的重大新特性
Oct 23 PHP
3种php生成唯一id的方法
Nov 23 PHP
ThinkPHP开发--使用七牛云储存
Sep 14 PHP
PHP设计模式之装饰器模式定义与用法详解
Apr 02 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
js资料prototype 属性
2007/03/13 Javascript
弹出层之1:JQuery.Boxy (一) 使用介绍
2011/10/06 Javascript
页面调用单个swf文件,嵌套出多个方法。
2011/11/21 Javascript
常用Extjs工具:Extjs.util.Format使用方法
2012/03/22 Javascript
javascript字符串替换及字符串分割示例代码
2013/12/12 Javascript
javascript面向对象程序设计(一)
2015/01/29 Javascript
浅析AngularJS中的指令
2016/03/20 Javascript
js组件SlotMachine实现图片切换效果制作抽奖系统
2016/04/17 Javascript
JSON字符串和对象相互转换实例分析
2016/06/16 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
2016/10/31 Javascript
JQuery Ajax WebService传递参数的简单实例
2016/11/02 Javascript
nodejs基础应用
2017/02/03 NodeJs
Bootstrap的popover(弹出框)在append后弹不出(失效)
2017/02/27 Javascript
Vue.js实战之Vuex的入门教程
2017/04/01 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
2017/04/22 Javascript
利用原生js实现html5小游戏之打砖块(附源码)
2018/01/03 Javascript
vue项目中mock.js的使用及基本用法
2019/05/22 Javascript
vue element 中的table动态渲染实现(动态表头)
2019/11/21 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
2020/07/22 Javascript
vue-router 按需加载 component: () =&gt; import() 报错的解决
2020/09/22 Javascript
Vue实现小购物车功能
2020/12/21 Vue.js
Python的时间模块datetime详解
2017/04/17 Python
1分钟快速生成用于网页内容提取的xslt
2018/02/23 Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
2018/03/23 Python
Python简易版停车管理系统
2019/08/12 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
2019/09/16 Python
Python3.7 pyodbc完美配置访问access数据库
2019/10/03 Python
PyCharm+Pipenv虚拟环境开发和依赖管理的教程详解
2020/04/16 Python
如何使用Cython对python代码进行加密
2020/07/08 Python
如何解决pycharm调试报错的问题
2020/08/06 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
创意活动策划书
2014/01/15 职场文书
捐款倡议书范文
2014/02/02 职场文书
《小小雨点》教学反思
2014/02/18 职场文书
大雁塔导游词
2015/02/04 职场文书
ECharts transform数据转换和dataZoom在项目中使用
2022/12/24 Javascript