這篇文章主要介紹了織夢數據庫類$dsql使用方法步驟,本文給出了$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;} |
將查詢的若干條記錄輸出
代碼如下:
$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->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();///////////////////////////////////////////////////////////////////////////////?> |
新聞熱點
疑難解答