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()始终只读取第一行数据信息,所以没完没了!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)