帝国CMS二次开发之fetch()和fetch1

帝国CMS二次开发之fetch()和fetch1,第1张

帝国CMS二次开发之fetch()和fetch1()用法详解

Fetch()和fetch1()是imperialCMS二次开发中的常用函数。这里详细介绍了fetch()和fetch1()的正确写法和一些用法,大家一定要参考一下。

Fetch()和fetch1()是imperialCMS二次开发中的常用函数。下面详细描述了fetch()和fetch1()的正确编写和一些用法:
(注意:fetch()和fetch1()函数位于e/class="superseo">ss/db_sql.php文件中)

1.fetch()

一般被人们用来列举或罗列流通系统中的几条信息;例如,以下示例获取vip成员ID为1的所有vip成员ID和登录名;fetch()的主要参数是SQL语句执行的结果,即先执行query();然后将query()的执行结果作为主参数应用于fetch();


复制代码编码如下:
query("selectuserid,usernamefrom{$dbtbpre}enewsmemberwheregroupid=1");
while($r=$empire->;fetch($SQL)){
echo$r[userid]。'-'.$r[用户名]。
';
}

db_close();
$empire=null;

2.fetch1()

简单来说,只有在查看一条消息的时候才能使用,比如获取USERID为1的会员信息;与fetch()不同,fetch1()的主要参数是SQL语句而不是执行结果,所以不用SQL语句的第二次应用,直接进来就好;Fetch1()只留下一条数据消息;


复制代码编码如下:
Fetch1("SelectUserID,Usernamefrom{$dbtbpre}EnewsMemberWhereUserID=1limit1");
echo$r[userid]。
';
echo$r[用户名]。
';

db_close();
$empire=null;

进一步讨论:

1.获取消息时,fetch()和fetch1()都是可能的,代码如下:


复制代码编码如下:
fetch1("selectID,titlefrom{$dbtbpre}ECMS_新闻whereclassic=34");
print_r($R1);
echo'<;hr>';

$SQL=$empire->;query("selectid,titlefrom{$dbtbpre}ecms_newswhereclassid=34");
$r=$empire->;fetch($SQL);
print_r($r);
echo'<;hr>';

db_close();
$empire=null;

2.如果想用fech1()循环系统数据信息,可以检测一下下面的代码,可以发现结果很惨,无限循环。迅速关闭电脑浏览器;


复制代码编码如下:
fetch1("selectID,titlefrom{$dbtbpre}ECMS_新闻whereclassic=34")){
echo$R1[title];
}

db_close();
$empire=null;

3.fetch()与循环系统写相同;



复制代码编码如下:
query("selectID,titlefrom{$dbtbpre}ECMS_新闻whereclassic=341");
$r=$empire->;fetch($SQL);
while($r)){
echo$r[title]。
';
}

db_close();
$empire=null;

4.为什么?。。;Trylife曾经说过,没有代码就没有真理,但是看看源代码里的内容:位置:e/class/db_sql.php。


复制代码如下:
//ExecuteMysql_fetch_array()
Functionfetch($sql)//这个方法的主要参数是$sql,它是SQL语句执行的结果
{
$this->;r=MySQL_fetch_array($SQL);
return$this->;r;
}
//执行fetch1(Mysql_fetch_array())
/该方法与fetch()的区别如下:1.这个方法的主要参数是$query,它是SQL语句
/2。此方法用于while()。
函数fetch1($query)
{
$this->;SQL=$this->;查询($query);
$this->;r=MySQL_fetch_array($this->;SQL);
return$this->;r;
}

①.查看比fetch()行数更多的fetch1()函数体"$this->:SQL=$this->;查询($query);";Fetch1()首先执行了查询();所以,当你得到一行信息的时候,直接fetch1()就行了,少打编码;

②.上面3和4中的无限循环是PHP编写中的难题,而($r=$empire->;Fetch($query))函数先取视图结果第一行的内容,然后记录指针自动移到下一行;注意:mysql_fetch_array只先获取查看结果第一行的数据信息;没有写在while()括号里的Mysql_fetch_array()始终只读取第一行数据信息,所以没完没了!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/772843.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存