找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1561|回复: 0

[分享] 织梦dedecms数据库类$dsql使用方法步骤

[复制链接]
发表于 2018-7-14 09:28:46 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
dedecms的数据库操作类,非常实用,在二次开发中尤其重要,这个数据库操作类说明算是奉献给大家的小礼物了。

引入common.inc.php文件


require_once (dirname(__FILE__) . "/include/common.inc.php");

获取一条记录的内容


  1. $row = $dsql->GetOne("Select * From dede_* where id = $aid");
  2. echo $row['id'];
复制代码


将查询获取总数输出


  1. $row = $dsql->GetOne("select count(*) as dd where typeid = $typeid");
  2. echo $row['dd'];//输出总数
复制代码


将查询的若干条记录输出


  1. $sql = "Select * from dede_*";
  2. $dsql->SetQuery($sql);//将SQL查询语句格式化
  3. $dsql->Execute();//执行SQL操作
  4. //通过循环输出执行查询中的结果
  5. while($row = $dsql->GetArray()){
  6. echo $row['id'];
  7. echo $row['title'];
  8. }
  9. //或者采取这种方式输出内容

  10. while($row = $dsql->GetObject()){
  11. echo $row->id;
  12. echo $row->Title;
  13. }
复制代码


将查询的若干条记录输出dedecms5


  1. $dsql->SetQuery("Select id,typename From `dede_arctype` where reid=0 And channeltype=1 And ishidden=0 And ispart<>2 order by sortrank");
  2. $dsql->Execute();
  3. while($row=$dsql->GetObject())
  4. {
  5. $channellist .= "<a href='wap.php?action=list&id={$row->id}'>{$row->typename}</a> ";
  6. echo $row->id;
  7. }
复制代码


插入一条记录


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


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


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


删除一条记录


  1. $sql = "Delete From dede_member_flink where aid='$aid' And mid='".$cfg_ml->M_ID."';";
  2. $dsql->SetQuery($sql);
  3. $dsql->ExecNoneQuery();
  4. //或者使用简化模式
  5. $dsql->ExecNoneQuery("Delete From dede_member_flink where aid='$aid' And mid='".$cfg_ml->M_ID."';");
复制代码


更新一条记录


  1. $upquery = "
  2. Update dede_member_flink set
  3. title='$title',url='$url',linktype='$linktype',
  4. imgurl='$imgurl',imgwidth='$imgwidth',imgheight='$imgheight'
  5. where aid='$aid' And mid='".$cfg_ml->M_ID."';
  6. ";
  7. $rs = $dsql->ExecuteNoneQuery($upquery);
复制代码


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


  1. $row = $dsql->GetOne("Select * From dede_moneycard_type where tid={$pid}");
  2. if(!is_array($row)){
  3. echo "失败";
  4. exit();
  5. }

  6. /////////////////////////////
  7. $upquery = " Update dede_member_flink set
  8. title='$title',url='$url',linktype='$linktype',
  9. imgurl='$imgurl',imgwidth='$imgwidth',imgheight='$imgheight'
  10. where aid='$aid' And mid='".$cfg_ml->M_ID."';
  11. ";
  12. $rs = $dsql->ExecuteNoneQuery($upquery);
  13. if($rs){
  14. echo "成功";
  15. }else{
  16. echo "失败";
  17. }
复制代码


获取总数


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

关闭数据库


$dsql->Close();

实例


  1. <?php
  2. /*
  3. DedeCms 数据库使用实例说明
  4. */
  5. require_once dirname(__FILE__)."pub_db_mysql.php";//引用数据库文件

  6. //确保数据库信息填写正确
  7. //数据库连接信息
  8. $cfg_dbhost = 'localhost';
  9. $cfg_dbname = 'sccms';
  10. $cfg_dbuser = 'root';
  11. $cfg_dbpwd = '123456';
  12. $cfg_dbprefix = 'sc_';
  13. $cfg_db_language = 'utf8';

  14. //新建一个数据库操作类
  15. $dsql = new ScSql(false);

  16. ////////////////////////////////获取一条记录的内容///////////////////////////////
  17. //下面是获取一条记录使用实例
  18. $row = $dsql->GetOne("Select * From dede_* where id = $aid");
  19. //获取数据内容保存在数组$row中,通过下标可以将其调用出来
  20. echo $row['id'];
  21. //下面是循环调用记录
  22. ///////////////////////////////////////////////////////////////////////////////


  23. //////////////////////////////将查询获取总数输出/////////////////////////////
  24. //获取一个查询记录总数
  25. $row = $dsql->GetOne("select count(*) as dd where typeid = $typeid");
  26. echo $row['dd'];//输出总数
  27. ///////////////////////////////////////////////////////////////////////////////


  28. //////////////////////////////将查询的若干条记录输出//////////////////////////////////
  29. $sql = "Select * from dede_*";
  30. $dsql->SetQuery($sql);//将SQL查询语句格式化
  31. $dsql->Execute();//执行SQL操作
  32. //通过循环输出执行查询中的结果
  33. while($row = $dsql->GetArray()){
  34. echo $row['id'];
  35. echo $row['title'];
  36. }
  37. //或者采取这种方式输出内容


  38. while($row = $dsql->GetObject()){
  39. echo $row->id;
  40. echo $row->Title;
  41. }
  42. ///////////////////////////////////////////////////////////////////////////////

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

  50. /////////////////////////////////////删除一条记录///////////////////////////
  51. $sql = "Delete From dede_member_flink where aid='$aid' And mid='".$cfg_ml->M_ID."';";
  52. $dsql->SetQuery($sql);
  53. $dsql->ExecNoneQuery();
  54. //或者使用简化模式
  55. $dsql->ExecNoneQuery("Delete From dede_member_flink where aid='$aid' And mid='".$cfg_ml->M_ID."';");
  56. ///////////////////////////////////////////////////////////////////////////////

  57. //////////////////////////////////////更新一条记录//////////////////////////
  58. $upquery = "
  59. Update dede_member_flink set
  60. title='$title',url='$url',linktype='$linktype',
  61. imgurl='$imgurl',imgwidth='$imgwidth',imgheight='$imgheight'
  62. where aid='$aid' And mid='".$cfg_ml->M_ID."';
  63. ";
  64. $rs = $dsql->ExecuteNoneQuery($upquery);

  65. ///////////////////////////////////////////////////////////////////////////////

  66. ////////////////////////////////判断获取数据库内容的常用方法///////////////////
  67. $row = $dsql->GetOne("Select * From dede_moneycard_type where tid={$pid}");
  68. if(!is_array($row)){
  69. echo "失败";
  70. exit();
  71. }

  72. /////////////////////////////
  73. $upquery = " Update dede_member_flink set
  74. title='$title',url='$url',linktype='$linktype',
  75. imgurl='$imgurl',imgwidth='$imgwidth',imgheight='$imgheight'
  76. where aid='$aid' And mid='".$cfg_ml->M_ID."';
  77. ";
  78. $rs = $dsql->ExecuteNoneQuery($upquery);
  79. if($rs){
  80. echo "成功";
  81. }else{
  82. echo "失败";
  83. }
  84. //////////////////////////////////获取总数//////////////////////////////////
  85. $dsql = new DedeSql(false);
  86. $dsql->SetQuery("Select * from `dede_admin` where userid='$userid' Or uname='$uname'");
  87. $dsql->Execute();
  88. $ns = $dsql->GetTotalRow();
  89. ////////////////////////////////关闭数据库///////////////////////////////////
  90. $dsql->Close();
  91. ///////////////////////////////////////////////////////////////////////////////
  92. ?>
复制代码

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2025-1-9 23:50 , Processed in 0.041118 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表