首页 CMS教程 帝国CMS 10分钟搞定帝国CMS二次开发之fetch()和fetch1()用法

10分钟搞定帝国CMS二次开发之fetch()和fetch1()用法

Nov 28, 2019 pm 01:50 PM
帝国cms

10分钟搞定帝国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;
登录后复制

推荐学习《帝国cms教程

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 &#39;<hr>&#39;;
$sql=$empire->query("select id,title from {$dbtbpre}ecms_news where classid=34");
$r=$empire->fetch($sql);
print_r($r);
echo &#39;<hr>&#39;;
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].&#39;
&#39;;
}
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()的区别是:1、此方法的参数是$query就是sql语句
//2、此方法用于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()那只能一直读第一行数据,所以就死循环.

以上是10分钟搞定帝国CMS二次开发之fetch()和fetch1()用法的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

帝国cms网站地图在哪 帝国cms网站地图在哪 Apr 17, 2024 am 10:48 AM

通过访问config.inc.php文件并检查dositemap设置,可以查找帝国CMS网站地图。如果设置为"on",则网站地图已启用。网站地图路径位于sitemapurl设置中,可以通过浏览器访问或通过FTP下载。

帝国cms手机端设置在哪里 帝国cms手机端设置在哪里 Apr 17, 2024 pm 12:12 PM

帝国CMS的手机端设置位于“模板管理”模块的“手机模板”中,具体步骤包括:启用模板、选择应用频道、编辑模板内容,并保存设置。

帝国cms模板文件放在哪里好用 帝国cms模板文件放在哪里好用 Apr 17, 2024 am 07:22 AM

帝国CMS模板文件理想的放置位置是/e/template/default/skin/default/,其次还可以放置在/e/data/skins/和/e/skin/,需要注意保持文件夹结构、设置文件权限以及定期备份。

帝国cms数据库配置文件在哪找 帝国cms数据库配置文件在哪找 Apr 17, 2024 am 06:42 AM

帝国CMS数据库配置文件位于网站根目录下e/config/db.inc.php,它包含以下配置信息:$dbhost:数据库服务器地址$dbuser:数据库用户名$dbpass:数据库密码$dbname:数据库名称$dbport:数据库端口$dbcharset:数据库字符集

帝国cms资源网模板在哪 帝国cms资源网模板在哪 Apr 17, 2024 am 10:00 AM

帝国CMS模板下载位置:官方模板下载:https://www.phome.net/template/第三方模板网站:https://www.dedecms.com/diy/https://www.0978.com.cn/https://www.jiaocheng.com/安装方式:下载模板解压模板上传模板选择模板

帝国cms自动发布接口在哪 帝国cms自动发布接口在哪 Apr 17, 2024 am 09:03 AM

帝国CMS的自动发布接口位于/e/api/web/postinfo.php,使用步骤如下:访问 /e/api/web/postinfo.php 地址使用 HTTP POST 提交文章标题、栏目 ID、分类 ID、作者和文章内容等数据接口会返回一个 JSON 格式的响应,其中包含发布结果和文章 ID

帝国cms百度主动推送插件在哪 帝国cms百度主动推送插件在哪 Apr 17, 2024 am 11:00 AM

帝国cms百度主动推送插件位于根目录/e/api/baidu/push.php。具体配置步骤如下:1. 上传插件文件至指定路径。2. 在帝国cms后台配置“百度主动推送”选项,包括推送地址、API Key和推送间隔。3. 获取百度推送信息:推送地址:https://data.zz.baidu.com/urls?site=YOUR_SITE&token=YOUR_API_KEY,API Key:登录百度搜索资源平台获取。4. 定期更新API Key,并设置合理的推送间隔。

帝国cms是免费的吗 帝国cms是免费的吗 Apr 17, 2024 am 11:24 AM

是的,帝国CMS是一款免费的开源内容管理系统(CMS)。它是一款轻量级CMS,功能丰富,易于使用。帝国CMS遵循GNU通用公共许可证(GPL),这意味着它可以免费下载、安装和使用。对于商业用途,它提供了付费版本,提供额外的功能和支持,例如广告管理、在线支付和高级技术支持。

See all articles