当前位置:首页 > PHP文摘 > 列表

织梦DedeCMS二次开发 织梦DedeCMS数据库类操作

发布:smiling 来源: PHP粉丝网  添加日期:2019-01-23 13:43:38 浏览: 评论:0 

织梦DedeCMS的二次开发不仅仅是会写写织梦的标签,会制作织梦的模板。很多时候,我们需要对织梦DedeCMS的数据库进行查询、插入、删除等等之类的操作,进行这一类的操作之前,我们必须知道织梦DedeCMS的数据库类, 下面是织梦DedeCMS二次开发必用之数据库类操作大全。

dedecms系统会自动载入 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'参数,否则会出错

$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相关函数进行数据库操作

在非不得已的情况,项目中一般不使用这个变量。

Tags: DedeCMS 数据库类

分享到: