用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
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
Mar 13 PHP
php目录操作函数之获取目录与文件的类型
Dec 29 PHP
php GeoIP的使用教程
Mar 09 PHP
浅谈PHP与C#的值类型指向区别的详解
May 21 PHP
php判断是否为json格式的方法
Mar 04 PHP
php过滤表单提交的html等危险代码
Nov 03 PHP
php获取文章上一页与下一页的方法
Dec 01 PHP
php实现转换ubb代码的方法
Jun 18 PHP
php模拟post上传图片实现代码
Jun 24 PHP
如何在centos8自定义目录安装php7.3
Nov 28 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
Jan 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
PHP几个数学计算的内部函数学习整理
2011/08/06 PHP
php解压文件代码实现php在线解压
2014/02/13 PHP
用document.documentElement取代document.body的原因分析
2009/11/12 Javascript
javascript面向对象特性代码实例
2014/06/12 Javascript
jquery实现增加删除行的方法
2015/02/03 Javascript
浅谈NodeJS中require路径问题
2015/05/07 NodeJs
日常收藏的jquery技巧
2015/12/02 Javascript
微信小程序 常用工具类详解及实例
2017/02/15 Javascript
基于JavaScript实现轮播图原理及示例
2020/04/10 Javascript
bootstarp modal框居中显示的实现代码
2017/02/18 Javascript
浅谈js中function的参数默认值
2017/02/20 Javascript
vue注册组件的几种方式总结
2018/03/08 Javascript
使用layui 渲染table数据表格的实例代码
2018/08/19 Javascript
Vue2.0点击切换类名改变样式的方法
2018/08/22 Javascript
vuejs移动端实现div拖拽移动
2019/07/25 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
[01:19:46]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
Python中的包和模块实例
2014/11/22 Python
在Python下尝试多线程编程
2015/04/28 Python
Python中的错误和异常处理简单操作示例【try-except用法】
2017/07/25 Python
python简单验证码识别的实现方法
2019/05/10 Python
python tornado使用流生成图片的例子
2019/11/18 Python
Python实现ATM系统
2020/02/17 Python
Django框架静态文件处理、中间件、上传文件操作实例详解
2020/02/29 Python
keras .h5转移动端的.tflite文件实现方式
2020/05/25 Python
使用canvas生成含有微信头像的邀请海报没有微信头像问题
2019/10/29 HTML / CSS
输入一行文字,找出其中大写字母、小写字母、空格、数字、及其他字符各有多少
2016/04/15 面试题
工程专业毕业生自荐信范文
2013/12/25 职场文书
妇女干部培训方案
2014/05/12 职场文书
中职三好学生事迹材料
2014/08/24 职场文书
家长意见和建议怎么写
2015/06/04 职场文书
毕业典礼致辞
2015/07/29 职场文书
2016七夕情人节广告语
2016/01/28 职场文书
CSS3 Tab动画实例之背景切换动态效果
2021/08/23 HTML / CSS
Shell脚本一键安装Nginx服务自定义Nginx版本
2022/03/20 Servers
聊聊配置 Nginx 访问与错误日志的问题
2022/05/25 Servers