织梦数据库类$dsql使用方法

这篇文章主要介绍了织梦数据库类$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&nbsp;id,typename&nbsp;From&nbsp;`dede_arctype`&nbsp;where&nbsp;reid=0&nbsp;And&nbsp;channeltype=1&nbsp;And&nbsp;ishidden=0&nbsp;And&nbsp;ispart<>2&nbsp;order&nbsp;by&nbsp;sortrank");
$dsql->Execute();
while($row=$dsql->GetObject())
{
$channellist&nbsp;.=&nbsp;"<a&nbsp;href='wap.php?action=list&id={$row->id}'>{$row->typename}</a>&nbsp;";
echo&nbsp;$row->id;
}

 

插入一条记录

代码如下:

$sql&nbsp;=&nbsp;"
INSERT&nbsp;INTO&nbsp;`dede_member_flink`(mid,title,url,linktype,imgurl,imgwidth,imgheight)&nbsp;
VALUES(".$cfg_ml->M_ID.",'$title','$url','$linktype','$imgurl','$imgwidth','$imgheight');";//插入记录数据库
$dsql->SetQuery($sql);//格式化查询语句
$dsql->ExecNoneQuery();//执行SQL操作

经实践证明,上面的语句不能正常插入数据库,下面是正确的语句

代码如下:

$sql&nbsp;=&nbsp;"
INSERT&nbsp;INTO&nbsp;`dede_member_flink`(mid,title,url,linktype,imgurl,imgwidth,imgheight)&nbsp;
VALUES(".$cfg_ml->M_ID.",'$title','$url','$linktype','$imgurl','$imgwidth','$imgheight');";//插入记录数据库
$dsql->ExecuteNoneQuery($sql);//执行SQL操作
$gid&nbsp;=&nbsp;$dsql->GetLastID();//获取刚刚插入的id

 

删除一条记录

代码如下:

$sql&nbsp;=&nbsp;"Delete&nbsp;From&nbsp;dede_member_flink&nbsp;where&nbsp;aid='$aid'&nbsp;And&nbsp;mid='".$cfg_ml->M_ID."';";
$dsql->SetQuery($sql);
$dsql->ExecNoneQuery();
//或者使用简化模式
$dsql->ExecNoneQuery("Delete&nbsp;From&nbsp;dede_member_flink&nbsp;where&nbsp;aid='$aid'&nbsp;And&nbsp;mid='".$cfg_ml->M_ID."';");

 

更新一条记录

代码如下:

$upquery&nbsp;=&nbsp;"
Update&nbsp;dede_member_flink&nbsp;set&nbsp;
title='$title',url='$url',linktype='$linktype',
imgurl='$imgurl',imgwidth='$imgwidth',imgheight='$imgheight'
where&nbsp;aid='$aid'&nbsp;And&nbsp;mid='".$cfg_ml->M_ID."';
";
$rs&nbsp;=&nbsp;$dsql->ExecuteNoneQuery($upquery);


判断获取数据库内容的常用方法

代码如下:

$row&nbsp;=&nbsp;$dsql->GetOne("Select&nbsp;*&nbsp;From&nbsp;&nbsp;dede_moneycard_type&nbsp;where&nbsp;tid={$pid}");
if(!is_array($row)){
echo&nbsp;"失败";
exit();
}&nbsp;
/////////////////////////////
$upquery&nbsp;=&nbsp;"&nbsp;Update&nbsp;dede_member_flink&nbsp;set&nbsp;
title='$title',url='$url',linktype='$linktype',
imgurl='$imgurl',imgwidth='$imgwidth',imgheight='$imgheight'
where&nbsp;aid='$aid'&nbsp;And&nbsp;mid='".$cfg_ml->M_ID."';
";
$rs&nbsp;=&nbsp;$dsql->ExecuteNoneQuery($upquery);
if($rs){
echo&nbsp;"成功";
}else{
echo&nbsp;"失败";
}


获取总数

代码如下:

$dsql&nbsp;=&nbsp;new&nbsp;DedeSql(false);
$dsql->SetQuery("Select&nbsp;*&nbsp;from&nbsp;`dede_admin`&nbsp;where&nbsp;userid='$userid'&nbsp;Or&nbsp;uname='$uname'");
$dsql->Execute();
$ns&nbsp;=&nbsp;$dsql->GetTotalRow();


关闭数据库

代码如下:

$dsql->Close();


实例

代码如下:

<?php
/*
DedeCms&nbsp;数据库使用实例说明
*/
require_once&nbsp;dirname(__FILE__)."pub_db_mysql.php";//引用数据库文件
//确保数据库信息填写正确
//数据库连接信息
$cfg_dbhost&nbsp;=&nbsp;'localhost';
$cfg_dbname&nbsp;=&nbsp;'sccms';
$cfg_dbuser&nbsp;=&nbsp;'root';
$cfg_dbpwd&nbsp;=&nbsp;'123456';
$cfg_dbprefix&nbsp;=&nbsp;'sc_';
$cfg_db_language&nbsp;=&nbsp;'utf8';
//新建一个数据库操作类
$dsql&nbsp;=&nbsp;new&nbsp;ScSql(false);
////////////////////////////////获取一条记录的内容///////////////////////////////
//下面是获取一条记录使用实例
$row&nbsp;=&nbsp;$dsql->GetOne("Select&nbsp;*&nbsp;From&nbsp;dede_*&nbsp;where&nbsp;id&nbsp;=&nbsp;$aid");
//获取数据内容保存在数组$row中,通过下标可以将其调用出来
echo&nbsp;$row['id'];
//下面是循环调用记录
///////////////////////////////////////////////////////////////////////////////
//////////////////////////////将查询获取总数输出/////////////////////////////
//获取一个查询记录总数
$row&nbsp;=&nbsp;$dsql->GetOne("select&nbsp;count(*)&nbsp;as&nbsp;dd&nbsp;where&nbsp;typeid&nbsp;=&nbsp;$typeid");
echo&nbsp;$row['dd'];//输出总数
///////////////////////////////////////////////////////////////////////////////
//////////////////////////////将查询的若干条记录输出//////////////////////////////////
$sql&nbsp;=&nbsp;"Select&nbsp;*&nbsp;from&nbsp;dede_*";
$dsql->SetQuery($sql);//将SQL查询语句格式化
$dsql->Execute();//执行SQL操作
//通过循环输出执行查询中的结果
while($row&nbsp;=&nbsp;$dsql->GetArray()){
echo&nbsp;$row['id'];
echo&nbsp;$row['title'];
}
//或者采取这种方式输出内容
while($row&nbsp;=&nbsp;$dsql->GetObject()){
echo&nbsp;$row->id;
echo&nbsp;$row->Title;
}
///////////////////////////////////////////////////////////////////////////////
//////////////////////////////插入一条记录///////////////////////////////
$sql&nbsp;=&nbsp;"
INSERT&nbsp;INTO&nbsp;`dede_member_flink`(mid,title,url,linktype,imgurl,imgwidth,imgheight)&nbsp;
VALUES(".$cfg_ml->M_ID.",'$title','$url','$linktype','$imgurl','$imgwidth','$imgheight');";//插入记录数据库
$dsql->SetQuery($sql);//格式化查询语句
$dsql->ExecNoneQuery();//执行SQL操作
///////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////删除一条记录///////////////////////////
$sql&nbsp;=&nbsp;"Delete&nbsp;From&nbsp;dede_member_flink&nbsp;where&nbsp;aid='$aid'&nbsp;And&nbsp;mid='".$cfg_ml->M_ID."';";
$dsql->SetQuery($sql);
$dsql->ExecNoneQuery();
//或者使用简化模式
$dsql->ExecNoneQuery("Delete&nbsp;From&nbsp;dede_member_flink&nbsp;where&nbsp;aid='$aid'&nbsp;And&nbsp;mid='".$cfg_ml->M_ID."';");
///////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////更新一条记录//////////////////////////
$upquery&nbsp;=&nbsp;"
Update&nbsp;dede_member_flink&nbsp;set&nbsp;
title='$title',url='$url',linktype='$linktype',
imgurl='$imgurl',imgwidth='$imgwidth',imgheight='$imgheight'
where&nbsp;aid='$aid'&nbsp;And&nbsp;mid='".$cfg_ml->M_ID."';
";
$rs&nbsp;=&nbsp;$dsql->ExecuteNoneQuery($upquery);
///////////////////////////////////////////////////////////////////////////////
////////////////////////////////判断获取数据库内容的常用方法///////////////////
$row&nbsp;=&nbsp;$dsql->GetOne("Select&nbsp;*&nbsp;From&nbsp;dede_moneycard_type&nbsp;where&nbsp;tid={$pid}");
if(!is_array($row)){
echo&nbsp;"失败";
exit();
}&nbsp;
/////////////////////////////
$upquery&nbsp;=&nbsp;"&nbsp;Update&nbsp;dede_member_flink&nbsp;set&nbsp;
title='$title',url='$url',linktype='$linktype',
imgurl='$imgurl',imgwidth='$imgwidth',imgheight='$imgheight'
where&nbsp;aid='$aid'&nbsp;And&nbsp;mid='".$cfg_ml->M_ID."';
";
$rs&nbsp;=&nbsp;$dsql->ExecuteNoneQuery($upquery);
if($rs){
echo&nbsp;"成功";
}else{
echo&nbsp;"失败";
}
//////////////////////////////////获取总数//////////////////////////////////
$dsql&nbsp;=&nbsp;new&nbsp;DedeSql(false);
$dsql->SetQuery("Select&nbsp;*&nbsp;from&nbsp;`dede_admin`&nbsp;where&nbsp;userid='$userid'&nbsp;Or&nbsp;uname='$uname'");
$dsql->Execute();
$ns&nbsp;=&nbsp;$dsql->GetTotalRow();
////////////////////////////////关闭数据库///////////////////////////////////
$dsql->Close();
///////////////////////////////////////////////////////////////////////////////
?>