欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-03-30 23:57:27
当你在编写存取mysql的数据库程序时,是不是觉得很麻烦:一大套的函数和参数,还要检查调用的结果,更头痛的是每个程序里都要包含数据库名、用户、密码等,想修改都不容易。但如果...
当你在编写存取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()方法:以表名为参数,返回一个包括该表的结果的数组