织梦dedecms数据库类$dsql使用方法步骤

所属分类: CMS教程 / dedecms 阅读数: 1853
收藏 0 赞 0 分享
dedecms的数据库操作类,非常实用,在二次开发中尤其重要,这个数据库操作类说明算是奉献给大家的小礼物了。
 
引入common.inc.php文件

复制代码
代码如下:

require_once (dirname(__FILE__) . "/include/common.inc.php");

获取一条记录的内容

复制代码
代码如下:

$row = $dsql->GetOne("Select * From dede_* where id = $aid");
echo $row['id'];

将查询获取总数输出

复制代码
代码如下:

$row = $dsql->GetOne("select count(*) as dd where typeid = $typeid");
echo $row['dd'];//输出总数

将查询的若干条记录输出

复制代码
代码如下:

$sql = "Select * from dede_*";
$dsql->SetQuery($sql);//将SQL查询语句格式化
$dsql->Execute();//执行SQL操作
//通过循环输出执行查询中的结果
while($row = $dsql->GetArray()){
echo $row['id'];
echo $row['title'];
}
//或者采取这种方式输出内容

while($row = $dsql->GetObject()){
echo $row->id;
echo $row->Title;
}

将查询的若干条记录输出dedecms5

复制代码
代码如下:

$dsql->SetQuery("Select id,typename From `dede_arctype` where reid=0 And channeltype=1 And ishidden=0 And ispart<>2 order by sortrank");
$dsql->Execute();
while($row=$dsql->GetObject())
{
$channellist .= "<a href='wap.php?action=list&id={$row->id}'>{$row->typename}</a> ";
echo $row->id;
}

插入一条记录

复制代码
代码如下:

$sql = "
INSERT INTO `dede_member_flink`(mid,title,url,linktype,imgurl,imgwidth,imgheight)
VALUES(".$cfg_ml->M_ID.",'$title','$url','$linktype','$imgurl','$imgwidth','$imgheight');";//插入记录数据库
$dsql->SetQuery($sql);//格式化查询语句
$dsql->ExecNoneQuery();//执行SQL操作

经实践证明,上面的语句不能正常插入数据库,下面是正确的语句

复制代码
代码如下:

$sql = "
INSERT INTO `dede_member_flink`(mid,title,url,linktype,imgurl,imgwidth,imgheight)
VALUES(".$cfg_ml->M_ID.",'$title','$url','$linktype','$imgurl','$imgwidth','$imgheight');";//插入记录数据库
$dsql->ExecuteNoneQuery($sql);//执行SQL操作
$gid = $dsql->GetLastID();//获取刚刚插入的id

删除一条记录

复制代码
代码如下:

$sql = "Delete From dede_member_flink where aid='$aid' And mid='".$cfg_ml->M_ID."';";
$dsql->SetQuery($sql);
$dsql->ExecNoneQuery();
//或者使用简化模式
$dsql->ExecNoneQuery("Delete From dede_member_flink where aid='$aid' And mid='".$cfg_ml->M_ID."';");

更新一条记录

复制代码
代码如下:

$upquery = "
Update dede_member_flink set
title='$title',url='$url',linktype='$linktype',
imgurl='$imgurl',imgwidth='$imgwidth',imgheight='$imgheight'
where aid='$aid' And mid='".$cfg_ml->M_ID."';
";
$rs = $dsql->ExecuteNoneQuery($upquery);

判断获取数据库内容的常用方法

复制代码
代码如下:

$row = $dsql->GetOne("Select * From dede_moneycard_type where tid={$pid}");
if(!is_array($row)){
echo "失败";
exit();
}

/////////////////////////////
$upquery = " Update dede_member_flink set
title='$title',url='$url',linktype='$linktype',
imgurl='$imgurl',imgwidth='$imgwidth',imgheight='$imgheight'
where aid='$aid' And mid='".$cfg_ml->M_ID."';
";
$rs = $dsql->ExecuteNoneQuery($upquery);
if($rs){
echo "成功";
}else{
echo "失败";
}

获取总数

复制代码
代码如下:

$dsql = new DedeSql(false);
$dsql->SetQuery("Select * from `dede_admin` where userid='$userid' Or uname='$uname'");
$dsql->Execute();
$ns = $dsql->GetTotalRow();

关闭数据库

复制代码
代码如下:

$dsql->Close();

实例

复制代码
代码如下:

<?php
/*
DedeCms 数据库使用实例说明
*/
require_once dirname(__FILE__)."pub_db_mysql.php";//引用数据库文件

//确保数据库信息填写正确
//数据库连接信息
$cfg_dbhost = 'localhost';
$cfg_dbname = 'sccms';
$cfg_dbuser = 'root';
$cfg_dbpwd = '123456';
$cfg_dbprefix = 'sc_';
$cfg_db_language = 'utf8';

//新建一个数据库操作类
$dsql = new ScSql(false);

////////////////////////////////获取一条记录的内容///////////////////////////////
//下面是获取一条记录使用实例
$row = $dsql->GetOne("Select * From dede_* where id = $aid");
//获取数据内容保存在数组$row中,通过下标可以将其调用出来
echo $row['id'];
//下面是循环调用记录
///////////////////////////////////////////////////////////////////////////////


//////////////////////////////将查询获取总数输出/////////////////////////////
//获取一个查询记录总数
$row = $dsql->GetOne("select count(*) as dd where typeid = $typeid");
echo $row['dd'];//输出总数
///////////////////////////////////////////////////////////////////////////////


//////////////////////////////将查询的若干条记录输出//////////////////////////////////
$sql = "Select * from dede_*";
$dsql->SetQuery($sql);//将SQL查询语句格式化
$dsql->Execute();//执行SQL操作
//通过循环输出执行查询中的结果
while($row = $dsql->GetArray()){
echo $row['id'];
echo $row['title'];
}
//或者采取这种方式输出内容


while($row = $dsql->GetObject()){
echo $row->id;
echo $row->Title;
}
///////////////////////////////////////////////////////////////////////////////

//////////////////////////////插入一条记录///////////////////////////////
$sql = "
INSERT INTO `dede_member_flink`(mid,title,url,linktype,imgurl,imgwidth,imgheight)
VALUES(".$cfg_ml->M_ID.",'$title','$url','$linktype','$imgurl','$imgwidth','$imgheight');";//插入记录数据库
$dsql->SetQuery($sql);//格式化查询语句
$dsql->ExecNoneQuery();//执行SQL操作
///////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////删除一条记录///////////////////////////
$sql = "Delete From dede_member_flink where aid='$aid' And mid='".$cfg_ml->M_ID."';";
$dsql->SetQuery($sql);
$dsql->ExecNoneQuery();
//或者使用简化模式
$dsql->ExecNoneQuery("Delete From dede_member_flink where aid='$aid' And mid='".$cfg_ml->M_ID."';");
///////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////更新一条记录//////////////////////////
$upquery = "
Update dede_member_flink set
title='$title',url='$url',linktype='$linktype',
imgurl='$imgurl',imgwidth='$imgwidth',imgheight='$imgheight'
where aid='$aid' And mid='".$cfg_ml->M_ID."';
";
$rs = $dsql->ExecuteNoneQuery($upquery);

///////////////////////////////////////////////////////////////////////////////

////////////////////////////////判断获取数据库内容的常用方法///////////////////
$row = $dsql->GetOne("Select * From dede_moneycard_type where tid={$pid}");
if(!is_array($row)){
echo "失败";
exit();
}

/////////////////////////////
$upquery = " Update dede_member_flink set
title='$title',url='$url',linktype='$linktype',
imgurl='$imgurl',imgwidth='$imgwidth',imgheight='$imgheight'
where aid='$aid' And mid='".$cfg_ml->M_ID."';
";
$rs = $dsql->ExecuteNoneQuery($upquery);
if($rs){
echo "成功";
}else{
echo "失败";
}
//////////////////////////////////获取总数//////////////////////////////////
$dsql = new DedeSql(false);
$dsql->SetQuery("Select * from `dede_admin` where userid='$userid' Or uname='$uname'");
$dsql->Execute();
$ns = $dsql->GetTotalRow();
////////////////////////////////关闭数据库///////////////////////////////////
$dsql->Close();
///////////////////////////////////////////////////////////////////////////////
?>
更多精彩内容其他人还在看

dedecms utf-8 出现乱码问题的解决方法之一

在制作dedecms utf-8 模板是遇到一个关于乱码的问题
收藏 0 赞 0 分享

dedecms 评论盖楼实现楼层数,类似腾讯、网易的评论(5.5/5.6版)

DEDE评论盖楼实现楼层数,类似腾讯、网易的评论(5.5/5.6版),喜欢的朋友可以参考下。
收藏 0 赞 0 分享

dedecms 5.6 缩略图按大小比例缩小裁剪

由于DEDECMS v5.6缩略图生成方法是按比例进行放缩的,和之前的版本问题一样,dedecms的官方也许根本没有注意到,或者他们觉得这样才是最好的缩略图生成方式
收藏 0 赞 0 分享

linux和windows主机实现dedecms伪静态

有些朋友为了节约空间等原因,喜欢用伪静态的,对于流量小,确实不错,下面看下具体的方法。
收藏 0 赞 0 分享

dedecms 5.6修改Dedecms提示信息方法

DEDECMS的跳转提示信息“Dedecms提示信息”,那么如何把这一字样改为自己网站的名称呢?
收藏 0 赞 0 分享

dedecms广告生成JS文件和JS调用-DEDE广告优化

DEDE广告生成JS文件和JS调用|DEDE广告优化主程序ad_makejs.php不是我写的,我只是做了些操作优化和界面美化。
收藏 0 赞 0 分享

dedecms 5.6 分页样式代码修改方法

看到好多人在用dedeCMS,但同时dedeCMS也存在好多问题,在官方网站也很难找到解决方法
收藏 0 赞 0 分享

DedeCMS 统计栏目的文章总数的调用方法

DedeCMS 统计栏目的文章总数的调用方法,我是根据5.3里面修改的,本人测试了可以,希望对大家有所帮助。
收藏 0 赞 0 分享

DedeCMS 标题seo优化 给列表页加上第x页

dede5.3的列表页每页的标题都相同,这样会让Google的搜索引擎认为是重复的页面,影响收录,我们可以为列表加上第几页,这个没个页面就是独立不同的页了!
收藏 0 赞 0 分享

使用dedecms制作英文站的技巧说明

国内的英文站长们经常遇到要用国内中文版的cms或论坛、博客来搭建英文网站,可是很多程序由于是针对国内用户设计的,所以并没有官方的英文版,如ecshop和dede cms、discuz,zblog也是利用英文语言包来实现的,所以二次开发成了一个比较热门的话题。
收藏 0 赞 0 分享
查看更多