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


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>{$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 And .$cfg_ml->M_ID."';";
$dsql->SetQuery($sql);
$dsql->ExecNoneQuery();
//或者使用简化模式
$dsql->ExecNoneQuery("Delete From dede_member_flink where And .$cfg_ml->M_ID."';");

更新一条记录



复制代码代码如下:
$upquery = "
Update dede_member_flink set 
,,,
,,
where And .$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 
,,,
,,
where And .$cfg_ml->M_ID."';
";
$rs = $dsql->ExecuteNoneQuery($upquery);
if($rs){
echo "成功";
}else{
echo "失败";
}

获取总数



复制代码代码如下:
$dsql = new DedeSql(false);
$dsql->SetQuery("Select * from `dede_admin` where Or ");
$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 And .$cfg_ml->M_ID."';";
$dsql->SetQuery($sql);
$dsql->ExecNoneQuery();
//或者使用简化模式
$dsql->ExecNoneQuery("Delete From dede_member_flink where And .$cfg_ml->M_ID."';");
///////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////更新一条记录//////////////////////////
$upquery = "
Update dede_member_flink set 
,,,
,,
where And .$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 
,,,
,,
where And .$cfg_ml->M_ID."';
";
$rs = $dsql->ExecuteNoneQuery($upquery);
if($rs){
echo "成功";
}else{
echo "失败";
}
//////////////////////////////////获取总数//////////////////////////////////
$dsql = new DedeSql(false);
$dsql->SetQuery("Select * from `dede_admin` where Or ");
$dsql->Execute();
$ns = $dsql->GetTotalRow();
////////////////////////////////关闭数据库///////////////////////////////////
$dsql->Close();
///////////////////////////////////////////////////////////////////////////////
?>
详解Linux命令修改文件的三个时间

Linux命令如何修改文件的三个时间本文主要对stat和touch两个命令进行讲解。如何查看一个文件的元数据呢?可以使用stat命令。File: 'ceshi1'  文件所在路径  Size: 4096       Blocks: 8 文件占据的磁盘块    ...
linux命令修改时间

隐藏在网站CSS中的窃密脚本

在过去的两年里,网络犯罪分子使用了各种各样的方法来在网上商城的各个地方隐藏针对Credit Card的信息窃取代码,以防止被安全检测方案所发现,而这些信息窃取代码也被称之为Web Skimmer或Magecart脚本。在此之前,研究人员曾在网站Logo、缩略图...
服务器安全恶意代码css脚本

如何从Windows双启动中卸载Ubuntu Linux

我在过去已经多次涉及到在UEFI模式下安装Ubuntu 14.04与Windows 8/8.1双启动的话题。 但是要怎么从Windows双启动中卸载Ubuntu呢?下面我们将看到的教程适用于任意的Linux操作系统,如Ubuntu,Linux Mint,Ele...
linuxubuntuWindows卸载

禁止套娃:新发布的Log4j补丁被发现又包含一个可利用的漏洞

就在我们了解到国家支持的黑客已经开始研究上周震惊网络安全界的Log4j漏洞问题时,其他研究人员发出了一个令人不安的发展信号。Log4j黑客,也被称为Log4Shell已经有一个补丁,已经可以部署到企业。但事实证明,这个补丁玩起了“套娃”:它解决原有问题的同时又...
漏洞服务器安全log4j黑客补丁