帝国CMS二次开发 – 使用程序本身的SQL类
简述: 帝国CMS封装了一个SQL,文件位置是e/class/db_sql.php;使用程序本身的类库可以给我们的开发带来便利和效率;同时可以减少增设文件数量等;今天就和trylife一起了解下帝国CMS的SQL类和使用方法;
首先:做下准备工作
- 1.在e目录下建立测试目录,例如我建立的是e/trylife/td-test/
- 2.在1中目录下建立个PHP文件,例如我建立的是e/trylife/td/test-db_sql.php
- 3.文件中写入代码如下
第一个测试的对象:query
- 1.query()执行的是mysql_query()
- 2.返回值同样遵循PHP手册中对mysql_query()的解释,不过执行失败的情况下是和mysq_query不一样地
- 3.测试代码如下(去除了篇幅比较大的注释)
- view plain copy to clipboard print ?
- ';
- }
- $sql=$empire->query("select id,title from {$dbtbpre}ecms_news");
- var_dump($sql);
- hr();
- //如语句执行成功则返回true
- $sql=$empire->query("UPDATE {$dbtbpre}ecms_news set title=' 标题 ' where id=1");
- var_dump($sql);
- hr();
- //如语句执行失败则终止执行并返回错误语句 下面的语句用了不存在的字段
- $sql=$empire->query("UPDATE {$dbtbpre}ecms_news set titlesss=' 标题' where id=1");
- var_dump($sql );
- hr();
- db_close();
- $empire =null;
- ?>
'; } $sql=$empire->query("select id,title from {$dbtbpre}ecms_news"); var_dump($sql); hr(); //如语句执行成功则返回true $sql=$empire->query("UPDATE {$dbtbpre}ecms_news set title='标题' where id=1"); var_dump($sql); hr(); //如语句执行失败则终止执行并返回错误语句 下面的语句用了不存在的字段 $sql=$empire->query("UPDATE {$dbtbpre}ecms_news set titlesss='标题' where id=1"); var_dump($sql); hr(); db_close(); $empire=null; ?>
为什么会这样呢,trylife告诉大家,想了解真想还是要看源文件;关于query这个对象的源文如下:在e/class/db_sql.php 第九行;die()查看PHP手册解释为“die() 函数输出一条消息,并退出当前脚本”;所以第三条测试语句下的var_dump() 及其 hr();都没有执行就退出了;
view plain copy to clipboard print ?- function query( $query )
- {
- $this ->sql=mysql_query( $query ) or die (mysql_error(). '' . str_replace ( $GLOBALS [ 'dbtbpre' ], '***_' , $query ));
- return $this ->sql;
- }
function query($query) { $this->sql=mysql_query($query) or die(mysql_error().''.str_replace($GLOBALS['dbtbpre'],'***_',$query)); return $this->sql; }
第二个测试的对象:query1
对象query1则和mysql_query()一样了;为节省版面长点的汉字都删了,执行截图在代码后边
view plain copy to clipboard print ?- ';
- }
- $sql=$empire->query1("select id,title from {$dbtbpre}ecms_news");
- var_dump($sql);
- hr();
- //如语句执行成功true
- $sql=$empire->query1("UPDATE {$dbtbpre}ecms_news set title=' 测试更新标题 ' where id=1");
- var_dump($sql);
- hr();
- //如语句执行失败则返回FLASE
- $sql=$empire->query1("UPDATE {$dbtbpre}ecms_news set titlesss=' 测试更新标题' where id=1");
- var_dump($sql );
- hr();
- db_close();
- $empire =null;
- ?>
'; } $sql=$empire->query1("select id,title from {$dbtbpre}ecms_news"); var_dump($sql); hr(); //如语句执行成功true $sql=$empire->query1("UPDATE {$dbtbpre}ecms_news set title='测试更新标题' where id=1"); var_dump($sql); hr(); //如语句执行失败则返回FLASE $sql=$empire->query1("UPDATE {$dbtbpre}ecms_news set titlesss='测试更新标题' where id=1"); var_dump($sql); hr(); db_close(); $empire=null; ?>
转载注明出处:
作者:trylfie
原文地址:http://www.trylife.cn/ecms-repeatedly-development-with-db_sql-php/
帝国CMS二次开发 – 使用程序本身的SQL类相关推荐
- 帝国CMS二次开发批量修改标题
一淘模板(56admin.com)在帝国CMS二次开发批量修改标题,以下修改方法可以同时用于 e/data/html/list/alllistinfo.php文件 和 e/data/html/list ...
- 帝国cms二次开发之文件夹的功能说明
特别注意,此次开发开发需要下载lskmvc for ecms即为帝国cms开发封装的一个二次开发小框架,众所周知,帝国cms本身是采用函数式的编程,缺点就是不好结构化代码,比较不好组织代码. lskm ...
- 帝国cms php超时,帝国CMS二次开发基本问题汇总
很多帝国CMS用户在使用过程中经常会出于个性化功能需求等原因而对帝国CMS进行二次开发,其中也会遇到不少问题,现就常见的问题汇总如下: 1.首先查看前台投稿流程图及其备注内容: http://bbs. ...
- 帝国CMS对接百度智能小程序的方法
现在很多站长依然在使用帝国CMS做网站,而且有的网站已经运营很久了,如今移动互联网时代,各大站长都纷纷从H5站转型到智能小程序了,因为百度小程序官方宣布对转型小程序的站长给一定的流量扶持,小程序可以被 ...
- 云服务器怎么执行sql文件在哪里,总结帝国CMS下在PHP文件中怎么调用数据库类执行SQL语句实例...
总结帝国CMS下在PHP文件中怎么调用数据库类执行SQL语句实例 发布时间:2020-10-19 14:58:08 来源:亿速云 阅读:83 作者:小新 这篇文章将为大家详细讲解有关总结帝国CMS下在 ...
- 循序渐进,探寻Excel二次开发.NET源码(3)-ExcelBase类
循序渐进,探寻Excel二次开发.NET源码(3)-ExcelBase类 --Excel打开关闭打印预览 作者:长江支流 关键字:.NET.Excel.Excel打开.Excel关闭.Excel打印预 ...
- 帝国cms仿今日头条小程序的基本模型的开发限于新闻模型
本节将描述使用帝国cms仿今日头条简版的微信小程序的配置和开发,在此之前,请大家先阅读一下以下内容: phpstudy配置之本地虚拟主机的配置和本地域名的配置 本地安装帝国cms 要在帝国cms中建立 ...
- Revit二次开发 - C#程序员的佳好选择
虽然Revit的使用者和开发目前在中国都很少,但是这是个趋势. 未来Revit会在许多方面取代Autocad 做CAD二次开发的,在中国也很吃香. 但是使用C++难倒了许多人. 而Revit二次开发可 ...
- revit二次开发之程序调试
欢迎加入BIM行业开发交流1群 群号:711844216(满),二群群号:1016453207 需要Revit二次开发全流程教学 的朋友可以联系我qq:1056295111 一.背景 小伙伴们在rev ...
- 帝国cms模板开发教程(八):帝国cms封面模板开发
前面学习了帝国cms首页模板的开发,我们开始学习帝国cms封面页面模板的制作,下面一起来学习帝国cms封面页面模板的写入! 首先,我们先看一下案例图片 案例网址:http://ecms.qinshin ...
最新文章
- struts2文件下载出现Can not find a java.io.InputStream with the name的错误
- DropDownList实现可输入可选择
- java环境变量配置(win7)
- linux设备驱动中的并发控制
- Android 数据库框架 DBFlow 的使用
- Mysql之wait_timeout参数生效办法
- 蓝桥杯真题-单词分析
- 这 4 个远程桌面开源了!
- NeoKylin7用户和组管理
- php 双竖线,范数介绍,数字两边双竖线
- Dell EMC PowerEdge R740 服务器的驱动程序和固件更新
- 逍遥安卓模拟器提示此设备未经Play保护机制认证解决方法步骤
- php二维数组取交集,PHP中二维数组怎么取交集
- 苹果告诉你-想自己换电池延长iPhone寿命还是算了吧!
- 标题相似度算法_一个简单的计算文章相似度功能!
- Python爬取某站上海租房图片!
- 达梦出席湖北银行业金融机构信息科技风险管理研讨会
- 消防气体灭火系统(一)
- 云服务 saas_SaaS和云服务策划
- 什么是XXE漏洞,XXE漏洞的原理
热门文章
- 怎么用计算机编写圆的面积,圆面积计算器.doc
- vhg电路是什么意思_over是什么意思?
- HDU 3533 BFS
- 【算法:leetcode】双指针:142. 环形链表 II 633. 平方数之和
- 30+英文电子书免费下载网站,跟喜欢看英文电子书的朋友分享
- docker 安装 es + kibana + ik + 拼音
- 教了一年少儿编程,说说感想和体验
- 阅读《吴军·硅谷来信》一年的回顾与思考
- gerrit常见错误与处理
- python报IndentationError: unexpected indent的解决方法.