当前位置: 首页 > 图文教程 > 网络编程 > PHP > 用DBSQL类加快开发MySQL数据库程序的速度

PHP
利用discuz实现PHP大文件上传应用实例代码
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
php在字符串中查找另一个字符串
php下HTTP Response中的Chunked编码实现方法
PHP实现定时生成HTML网站首页实例代码
PHP下一个非常全面获取图象信息的函数
PHP strtr() 函数使用说明
php 删除无限级目录与文件代码共享
php AJAX实例根据邮编自动完成地址信息
php miniBB中文乱码问题解决方法
cmd下运行php脚本
PHP 遍历XP文件夹下所有文件
php 移除数组重复元素的一点说明
discuz论坛 用户登录 后台程序代码
Optimizer与Debugger兼容性问题的解决方法
Zend Studio 无法启动的问题解决方法
php 页面执行时间计算代码
php smarty的预保留变量总结
php获取网页内容方法总结
php读取msn上的用户信息类

PHP 中的 用DBSQL类加快开发MySQL数据库程序的速度


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 226 ::
收藏到网摘: n/a

当你在编写存取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()方法:以表名为参数,返回一个包括该表的结果的数组