织梦数据库类常用操作函数getone()、Execute()剖析

织梦教程 强烈建议 2024-02-26 11:32 83 0

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

本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!