用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中转义mysql语句的实现代码
Jun 24 PHP
php重定向的三种方法分享
Feb 22 PHP
php发送get、post请求的6种方法简明总结
Jul 08 PHP
PHP5.3与5.5废弃与过期函数整理汇总
Jul 10 PHP
php字符串过滤与替换小结
Jan 26 PHP
Laravel中使用阿里云OSS Composer包分享
Feb 10 PHP
PHP实现的蚂蚁爬杆路径算法代码
Dec 03 PHP
php导出生成word的方法
Dec 25 PHP
详解HTTP Cookie状态管理机制
Jan 14 PHP
ThinkPHP中limit()使用方法详解
Apr 19 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
Feb 08 PHP
PHP实现的XXTEA加密解密算法示例
Aug 28 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中输出转义JavaScript代码的实现代码
2011/04/22 PHP
一个PHP分页类的代码
2011/05/18 PHP
php实现上传图片保存到数据库的方法
2015/02/11 PHP
php ci 获取表单中多个同名input元素值的代码
2016/03/25 PHP
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
来自国外的30个基于jquery的Web下拉菜单
2012/06/22 Javascript
Nodejs极简入门教程(二):定时器
2014/10/25 NodeJs
jQuery控制cookie过期时间的方法
2015/04/07 Javascript
JS中使用apply、bind实现为函数或者类传入动态个数的参数
2016/04/26 Javascript
js判断iframe中元素是否存在的实现代码
2016/12/24 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
javascript history对象详解
2017/02/09 Javascript
Angular 4依赖注入学习教程之Injectable装饰器(六)
2017/06/04 Javascript
关于echarts在节点显示动态数据及添加提示文本所遇到的问题
2018/04/20 Javascript
JavaScript组合模式---引入案例分析
2020/05/23 Javascript
[57:53]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#3OG VS VP
2016/03/03 DOTA
[03:01]完美世界DOTA2联赛PWL S2 集锦第二期
2020/12/03 DOTA
Python httplib模块使用实例
2015/04/11 Python
CentOS安装pillow报错的解决方法
2016/01/27 Python
Win7 64位下python3.6.5安装配置图文教程
2020/10/27 Python
python对于requests的封装方法详解
2019/01/03 Python
解决python写入带有中文的字符到文件错误的问题
2019/01/31 Python
python提取照片坐标信息的实例代码
2019/08/14 Python
Python shutil模块用法实例分析
2019/10/02 Python
Python OpenCV读取显示视频的方法示例
2020/02/20 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
2020/09/17 Python
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
css3 实现滚动条美化效果的实例代码
2021/01/06 HTML / CSS
构造方法和其他方法的区别?怎么调用父类的构造方法
2013/09/22 面试题
音乐学院硕士生的自我评价分享
2013/11/01 职场文书
优秀毕业自我鉴定
2014/02/15 职场文书
出国签证在职证明
2014/09/20 职场文书
教师正风肃纪剖析材料
2014/10/20 职场文书
2014党的群众路线教育实践活动总结报告
2014/10/31 职场文书
学校运动会简讯
2015/07/20 职场文书
《中彩那天》教学反思
2016/02/24 职场文书