PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > CMS教程 > dedecms教程 > 正文

    dedecms中数据库类中常用方法

    作者:admin来源:网络浏览:时间:2020-09-30 00:07:50我要评论
    导读:系统会自动载入 dedesql.class.php 文件,并用$dsql = $db = new DedeSql(false);进行初始化数据库连接,因此在工程所有文件中均不...
    系统会自动载入 dedesql.class.php 文件,并用
    $dsql = $db = new DedeSql(false);
    进行初始化数据库连接,因此在工程所有文件中均不需要单独初始化这个类,可直接用 $dsql 或 $db 进行操作,为了防止错误,操作完后不必关闭数据库。
     
    常用的方法:
    1、执行一个非查询类型的SQL语句,如 insert 、create 、update 等
    $rs = $db->ExecuteNoneQuery($sql);
    返回值为是否执行成功。
     
    2、执行一个非查询类型的SQL语句,并返回成功记录数
    $rs = $db->ExecuteNoneQuery2($sql);
     
    与上面相比,它返回的是影响的记录数,而不是布尔值
     
    3、返回单个记录
    $arr = $db->GetOne($sql);
     
    $dsql 如果不带 limit ,系统会自动加上 limit 0,1
     
    4、执行条件查询语句
    $db->SetQuery($dsql);
    $db->Execute();
    while($arr = $db->GetArray())
    {
    }
    可以简化为:
    $db->Execute('me',$dsql);
    while($arr = $db->GetArray())
    {
    }
     
    'me' 为记录集游标,用于区分不同的查询,如:
     
    $db->Execute('me',$dsql);
    while($arr = $db->GetArray())
    {
       $db->Execute('2',$dsql2);
       while($arr2 = $db->GetArray())
       {
          
       }
    }
    像这种情况必须指定一个值区分默认的'me'参数,否则会出错
     
    代码实例:
     
        <?php
        $dsql->Execute('level1', "select * from function where parent_id=-1 and type='menu'");
        while($row1=$dsql->GetArray('level1')){
         if(!CheckPriv($row1['code']))continue;
         echo "<h1 class=\"type\"><a href=\"".$row1['url']."\">".$row1['name']."</a></h1>\n";
         echo "<div class=\"content\">\n<ul class=\"MM\">\n";
         $dsql->Execute('level2', "select * from function where parent_id=".$row1['id']." and type='menu'");
         while($row2=$dsql->GetArray('level2')){
          if(!CheckPriv($row2['code']))continue;
          echo "<li><a href=\"".$row2['url']."\" target=\"main\">".$row2['name']."</a></li>\n";
         }
         echo "</ul>\n</div>\n";
        }
        ?>
     
    $db->GetArray($rsid,$acctype) 参数
    $rsid="me"
    $acctype=MYSQL_ASSOC
     
    在查询游标中读取数据还可以用
    $db->GetObject($rsid="me");
     
    返回的结果是用类结构表示的值。
     
    5、获取上一个插入的自动递增主键id值
    $db->GetLastID();
     
    6、获得查询的总记录数
    $db->GetTotalRow($rsid="me")
     
    7、获得MySql的版本号
    $db->GetVersion($isformat=true)
    默认的情况下会转换成 x.xx 形式浮点数
     
    8、析放某查询的资源
     
    $db->FreeResult($rsid="me");
     
    9、在数据库中是否存在某数据表
    $db->IsTable($tbname)
     
    10、重新选择要操作的数据库
    $db->SelectDB($dbname);
     
    11、获得数据库连接标识
    $db->linkID
    获得这个连接标识后,可以直接用mysql相关函数进行数据库操作
    在非不得已的情况,项目中一般不使用这个变量。
    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-102-474-1.html
    相关热词搜索: dedecms 织梦cms