dedecms二次开发中对数据库操作类的使用尤为重要,下面是对数据库操作类的一些简单说明和实例。
引入common.inc.php文件
0 |
require_once (dirname(__FILE__) . "/include/common.inc.php"); |
查询某表是否存在,存在返回TRUE,否则返回FALSE
0 1 2 3 4 5 6 |
if($dsql->IsTable("dede_addonarticle,#@__archives")){ //注意“#@__”,是两个下横杠 echo "表存在"; exit; }else{ echo "表不存在"; exit; } |
获取一条记录的内容
0 1 |
$row = $dsql->GetOne("Select * From dede_* where id = $aid"); echo $row['id']; |
将查询获取总数输出
0 1 |
$row = $dsql->GetOne("select count(*) as dd where typeid = $typeid"); echo $row['dd'];//输出总数 |
将查询的若干条记录输出
0 1 2 3 4 5 6 7 8 9 10 11 12 13 |
$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
0 1 2 3 4 5 6 |
$dsql->SetQuery("Select id,typename From `#@__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; } |
插入一条记录
0 1 2 3 4 |
$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操作 |
经实践证明,上面的语句不能正常插入数据库,下面是正确的语句
0 1 2 3 4 |
$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 |
删除一条记录
0 1 2 3 4 |
$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."';"); |
更新一条记录
0 1 2 3 4 5 6 |
$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); |
判断获取数据库内容的常用方法
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$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 "失败"; } |
获取总数
0 1 2 3 |
$dsql = new DedeSql(false); $dsql->SetQuery("Select * from `dede_admin` where userid='$userid' Or uname='$uname'"); $dsql->Execute(); $ns = $dsql->GetTotalRow(); |
关闭数据库
0 |
$dsql->Close(); |
实例
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
<?php /* DedeCms 数据库使用实例说明 */ require_once "../include/common.inc.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(); /////////////////////////////////////////////////////////////////////////////// ?> |
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
<?php //连接数据库。require_once (dirname(__FILE__) . "/include/common.inc.php"); if($dsql->IsTable(dede_addonarticle,dede_archives)){//判断表是否存在。 $sql="select * from dede_archives as a left join dede_addonarticle as b ona.typeid=b.typeid where aid=id and a.typeid=1"; $dsql->Execute("me",$sql); //获取多条记录。 while($arr=$dsql->GetArray("me",MYSQL_ASSOC)){ $row[]=$arr; } } //下面是将获取的数据呈现在页面中... ?> <div> <ul> <?php if($row){ foreach($row as $val){ ?> <li> <span><img src="<?php echo$val['litpic'];?>" width="80" height="80"/></span> <span> <div><a href="subbicon.php?id=<?phpecho $val['id'];?>"><?php echo $val['title'];?> </a> </div> <div><?phpif(strlen($val['description'])>60){echocn_substr($val['description'],60)."...";}?> </div> </span> </li> <?php } } ?> </ul> </div> |