无为清净楼资源网 Design By www.qnjia.com
当你在编写存取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()方法:以表名为参数,返回一个包括该表的结果的数组
一、获得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()方法:以表名为参数,返回一个包括该表的结果的数组
无为清净楼资源网 Design By www.qnjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无为清净楼资源网 Design By www.qnjia.com
暂无评论...
更新日志
2024年11月15日
2024年11月15日
- 群星《2024好听新歌14》十倍音质 U盘音乐 [WAV分轨][966M]
- s14全球总决赛T1战队队员都有谁 LOLs14全球总决赛T1战队介绍
- 英雄联盟faker身价有10亿吗 英雄联盟faker身价介绍一览
- faker大魔王称号怎么来的 faker大魔王称号来源介绍
- PS5 Pro上的蒂法更美了!博主盛赞新机1000%值得购买
- 腾讯互娱再离职一员大将!或因供应商贪腐
- Ayaneo3游戏掌机预热:旗舰定位、造型圆润自带底键
- 动力火车.1999-背叛情歌【上华】【WAV+CUE】
- 刘力扬.2019-Neon.Lit虹【摩登天空】【FLAC分轨】
- 群星.2002-恋爱物语情歌对唱精选2CD(引进版)【滚石】【WAV+CUE】
- 群星《闽南情24K德国HD金碟》2CD[WAV+CUE]
- 周传雄《恋人创世纪》环球唱片[WAV+CUE]
- 关淑怡-《真假情话K2HD》(日本压制)【WAV+CUE】
- 王菲 -《Faye Wong》雨果LPCD45 [WAV+分轨][1G]
- 陈百强《世纪10星·永恒篇》环球[WAV+CUE][1G]