dede資料庫類使用方法 $dsql

神馬和浮雲發表於2014-03-15

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 `#@__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();
///////////////////////////////////////////////////////////////////////////////
?>

  

相關文章