帝国CMS二次开发之fetch()和fetch1()的使用方法

  介绍

小编给大家分享一下帝国CMS二次开发之fetch()和fetch1()的使用方法,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!

<强>帝国CMS二次开发之fetch()和fetch2()怎么用?

fetch()和fetch2()是帝国CMS二次开发常用到的函数、下面介绍fetch()和fetch2()正确的写法和一些用处:

(注:fetch()和fetch2()函数位于e/类/db_sql.php文件中)

1. fetch ()

一般情况下我们用来,循环出列表或者列出多条信息,例如下面的例子取得会员组ID为1的所有会员ID和用户名;fetch()的参数是SQL语句执行的结果也就是先执行查询();再把查询()的执行结果作为参数给fetch()使用;

代码如下:

查询(“选择用户名,用户名从{$ dbtbpre} enewsmember groupid=1“);   而(r=美元帝国→获取(sql)美元){   echo $ r(标识)。& # 39;——& # 39;。本市$ r【用户名】# 39;   & # 39;;   }   db_close ();   美元帝国=零;

2. fetch2 ()

简单的说我们查询一条信息的时候才用它,比如获取用户id为1的会员资料;和fetch()不同的是fetch2()的参数是SQL语句而不是执行结果,所以在SQL语句不第二次使用的情况下直接进去就好了;fetch2()只取一条数据;

代码如下

fetch2(“选择用户名,用户名从{$ dbtbpre} enewsmember USERID=1限制1“);   echo $ r (userid)强生# 39;   & # 39;;   本市echo $ r【用户名】# 39;   & # 39;;   db_close ();   美元帝国=零;

进一步讨论一下:

1。在取一条信息的时候fetch()和fetch2()都是可以的,代码如下:

代码如下:

fetch2(“选择id、标题从{$ dbtbpre} ecms_news classid=34“);   print_r (r1);   回声& # 39;& lt; hr> & # 39;;   sql=美元帝国→查询(“选择id、标题从{$ dbtbpre} ecms_news classid=34“);   r=美元帝国→获取($ sql);   print_r ($ r);   回声& # 39;& lt; hr> & # 39;;   db_close ();   美元帝国=零;

2。如果你想用fech2()循环数据,你可以测试下下面的代码,你会发现结果悲惨的,死循环,赶紧关浏览器;

代码如下:

fetch2(“选择id、标题从{$ dbtbpre} ecms_news classid=34“)) {   echo $ r1[标题];   }   db_close ();   美元帝国=零;

3. fetch()同样死翘翘的循环写法;

代码如下:

查询(“选择id、标题从{$ dbtbpre} ecms_news classid=341“);   r=美元帝国→获取($ sql);   而($ r)) {   echo $ r[标题]强生# 39;   & # 39;;   }   db_close ();   美元帝国=零;

4。为什么呢…;trylife曾说过无码无真相,还是看下源文件中的内容:位置:e/类/db_sql。php

代码如下:

//执行mysql_fetch_array ()   函数获取(sql)美元//此方法的参数是sql就美元是sql语句执行结果   {   $ this→r=mysql_fetch_array ($ sql);   返回$ this→r;   }//执行fetch2 (mysql_fetch_array ())//此方法与fetch()的区别是:1,此方法的参数是查询就美元是sql语句//2,此方法用于(),()的数据库指针不会自动下移,而fetch()可以自动下移。   函数fetch2(查询)   {   $ this→sql=$这→查询(查询);   $ this→r=mysql_fetch_array ($ this→sql);   返回$ this→r;   }

①。看到fetch2()函数体内比fetch()多了行”$ this→sql=$这→查询(查询)美元;”;fetch2()先执行了查询();所以获取一行信息的时候,就直接fetch2()吧,少打代码;

②。上边3和4中的死循环是PHP的书写问题,而(r=美元帝国→获取(查询)美元)函数先取查询结果第一行内容,之后记录指针自动移动到下一行,注:mysql_fetch_array也就只先取得查询结果第一行数据,没写在在()括号内的mysql_fetch_array()那只能一直读第一行数据,所以就死循环鸟!

看完了这篇文章,相信你对帝国CMS二次开发之fetch()和fetch1()的使用方法有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

帝国CMS二次开发之fetch()和fetch1()的使用方法