用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在线代理转向代码
May 05 PHP
Php连接及读取和写入mysql数据库的常用代码
Aug 11 PHP
PHP之密码加密的几种方式
Jul 29 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
Oct 08 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
Dec 24 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
Dec 07 PHP
Yii 2.0自带的验证码使用经验分享
Jun 19 PHP
简单谈谈PHP面向对象之标识对象
Jun 27 PHP
PHP 实现文件压缩解压操作的方法
Jun 14 PHP
关于laravel模板中生成URL的几种模式总结
Oct 18 PHP
tp5框架的增删改查操作示例
Oct 31 PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
Apr 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
第八节 访问方式 [8]
2006/10/09 PHP
深入了解PHP类Class的概念
2012/06/14 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
CodeIgniter开发实现支付宝接口调用的方法示例
2016/11/14 PHP
PHP二维数组分页2种实现方法解析
2020/07/09 PHP
可以显示单图片,多图片ajax请求的ThickBox3.1类下载
2007/12/23 Javascript
让网页根据不同IE版本显示不同的内容
2009/02/08 Javascript
jquery 简单的进度条实现代码
2010/03/11 Javascript
JS 按钮点击触发(兼容IE、火狐)
2013/08/07 Javascript
css如何让浮动元素水平居中
2015/08/07 Javascript
jqGrid表格应用之新增与删除数据附源码下载
2015/12/02 Javascript
JavaScript 2048 游戏实例代码(简单易懂)
2016/03/25 Javascript
AngularJS上拉加载问题解决方法
2016/05/23 Javascript
完美实现八种js焦点轮播图(上篇)
2016/07/18 Javascript
微信小程序 wx.request(object) API详解及实例代码
2016/09/30 Javascript
jquery中用jsonp实现搜索框功能
2016/10/18 Javascript
Vue波纹按钮组件制作
2018/04/30 Javascript
性能优化篇之Webpack构建速度优化的建议
2019/04/03 Javascript
p5.js临摹旋转爱心
2019/10/23 Javascript
ES6扩展运算符和rest运算符用法实例分析
2020/05/23 Javascript
vue 子组件和父组件传值的示例
2020/09/11 Javascript
JavaScript canvas实现雨滴特效
2021/01/10 Javascript
[02:55]含熏伴清风,风行者至宝、屠夫身心及典藏宝瓶二展示
2020/09/08 DOTA
python获取文件后缀名及批量更新目录下文件后缀名的方法
2014/11/11 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
2018/01/08 Python
Python GUI布局尺寸适配方法
2018/10/11 Python
python绘制散点图并标记序号的方法
2018/12/11 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
2019/04/16 Python
详解Python3 中的字符串格式化语法
2020/01/15 Python
Python for循环通过序列索引迭代过程解析
2020/02/07 Python
基于python实现把json数据转换成Excel表格
2020/05/07 Python
python读取xml文件方法解析
2020/08/04 Python
Python Unittest原理及基本使用方法
2020/11/06 Python
详解CSS3中的box-sizing(content-box与border-box)
2019/04/19 HTML / CSS
html5写一个BUI折叠菜单插件的实现方法
2019/09/11 HTML / CSS
高考升学宴主持词
2019/06/21 职场文书