帝国CMS二次开发之fetch()和fetch1()怎么用-帝国CMS

资源魔 66 0

帝国CMS二次开发之fetch()以及fetch1()怎样用?

fetch()以及fetch1()是帝国CMS二次开发罕用到的函数,上面引见fetch()以及fetch1()正确的写法以及一些用途 :

(注:fetch()以及fetch1()函数位于e/class/db_sql.php文件中)

1.fetch()

普通状况下咱们用来,轮回入列表或许列出多条信息;例以下面的例子获得会员组ID为1的一切会员ID以及用户名;fetch()的参数是SQL语句执行的后果也就是先执行query();再把query()的执行后果作为参数给fetch()应用;

代码以下:

query( "select userid,username from {$dbtbpre}enewsmember where groupid=1" ); 
while ( $r = $empire ->fetch( $sql )){ 
echo $r [userid]. '---' . $r [username].'
'; 
} 
db_close(); 
$empire =null;

2.fetch1()

简略的说咱们查问一条信息的时分才用它,比方猎取USERID为1的会员材料;以及fetch()没有同的是fetch1()的参数是SQL语句而没有是执行后果,以是正在SQL语句没有第二次应用的状况下间接出来就行了;fetch1()只取一条数据;

代码以下

fetch1("select userid,username from {$dbtbpre}enewsmember where userid=1 limit 1"); 
echo $r[userid].'
'; 
echo $r[username].'
'; 
db_close(); 
$empire=null;

进一步探讨一下:

1.正在取一条信息的时分fetch()以及fetch1()都是能够的,代码以下:

代码以下:

fetch1("select id,title from {$dbtbpre}ecms_news where classid=34"); 
print_r($r1); 
echo '<hr>'; 
$sql=$empire->query("select id,title from {$dbtbpre}ecms_news where classid=34"); 
$r=$empire->fetch($sql); 
print_r($r); 
echo '<hr>'; 
db_close(); 
$empire=null;

2.假如你想用fech1()轮回数据,你能够测试下上面的代码,你会发现后果凄惨的,死轮回,连忙关阅读器;

代码以下:

fetch1("select id,title from {$dbtbpre}ecms_news where classid=34")){ 
echo $r1[title]; 
} 
db_close(); 
$empire=null;

3.fetch()一样死翘翘的轮回写法;

代码以下:

query("select id,title from {$dbtbpre}ecms_news where classid=341"); 
$r=$empire->fetch($sql); 
while($r)){ 
echo $r[title].'
'; 
} 
db_close(); 
$empire=null;

4.为何呢。。。;trylife曾说过无码无假相,仍是看下源文件中的内容:地位:e/class/db_sql.php

代码以下:

//执行mysql_fetch_array() 
function fetch($sql)//此办法的参数是$sql就是sql语句执行后果 
{ 
$this->r=mysql_fetch_array($sql); 
return $this->r; 
} 
//执行fetch1(mysql_fetch_array()) 
//此办法与fetch()的区分是:一、此办法的参数是$query就是sql语句 
//二、此办法用于while(),for()数据库指针没有会主动下移,而fetch()能够主动下移。 
function fetch1($query) 
{ 
$this->sql=$this->query($query); 
$this->r=mysql_fetch_array($this->sql); 
return $this->r; 
}

①.看到fetch1()函数体内比fetch()多了行”$this->sql=$this->query($query);“;fetch1()先执行了query();以是猎取一行信息的时分,就间接fetch1()吧,少打代码;

②.上边3以及4中的死轮回是PHP的书写成绩,while($r=$empire->fetch($query)) 函数先取查问后果第一行内容,之跋文录指针主动挪动到下一行;注:mysql_fetch_array也就只先获得查问后果第一行数据;没写正在 while()括号内的mysql_fetch_array()那只能不断读第一行数据,以是就死轮回鸟!

以上就是帝国CMS二次开发之fetch()以及fetch1()怎样用的具体内容,更多请存眷资源魔其它相干文章!

标签: 帝国cms 帝国cms教程 帝国cms自学 帝国cms技术

抱歉,评论功能暂时关闭!