新手DedeCMS二次开发数据库类最实用总结

       笔者从一个不懂PHP、SQL就能搭建网站,会美工就敢弄JS特效,会写文章就敢整SEO排名...胆子非常肥,也接下了许多企业、博客、商城网站建设。面对网站越来越丰富的功能需求,在程序二次开发还需要多努力。

       DedeCMS入门很简单,甚至都不需要懂PHP。不管是练手或者做中小型网站开发来说都很好,最重要的是开源、免费、学习资源丰富。

       做啦做啦刚开始接触的就是DedeCMS(基于PHP开发的开源内容管理系统),DedeCMS数据库操作类在二次开发中非常重要,很多函数都比较相似,函数基本属于面向对象,下面总结部分数据库操作的基本内容,对新手很有帮助。

引入php配置文件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()){ //也可以用while($row = $dsql->GetObject()){
echo $row['id'];
echo $row['title'];
}

将查询的若干条记录输出

$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->ExecuteNoneQuery($sql); //执行SQL操作
$gid = $dsql->GetLastID(); //获取刚刚插入的ID

更新一条记录

$upquery = "UPDATA 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();
}

关闭数据库

$dsql->Close();