2012-04-16 13:57 dedecms操作数据库类

dedecms操作数据库类非常方便

1、在使用数据库类前必须引入配置文件/include/common.inc.php 这个配置文件自动连接数据库,引入后你就可以使用DedeSql类了,当然不需要你再实例化DedeSql类,因为在/include/dedesql.class.php中已经给你实例化了,

$dsql = $db = new DedeSql(FALSE);直接使用$dsql或$db就可以调用你这个类里面的方法,例如$test=$dsql->GetOne("SELECT * FROM dede_test WHERE id = 3");直接用print_r($test)打印$test你会发现$test已经是个数组了,当然如果你这个查询有结果的话;

2、调用/include/dedesql.class.php  中的DedeSql类下的IsTable方法可以检查一个表是否在数据库中;

3、DedeSql类下的GetOne方法返回一个数组,它的参数是你写的SQL查询语句。

系统会自动载入 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->SetQuery($dsql);
$db->Execute();
while($arr = $db->GetArray())
{
}
 
可以简化为:

查看源码复制到粘贴板打印?
$db->Execute('me',$dsql);   
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())   
   {   
         
   }   
}   
   
$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相关函数进行数据库操作
在非不得已的情况,项目中一般不使用这个变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值