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(); /////////////////////////////////////////////////////////////////////////////// ?>