Discuz!X/数据库函数操作方法

Discuz!X/数据库函数操作方法
 
DB::table($tablename)获取正确带前缀的表名,转换数据库句柄

DB::delete($tablename, 条件,条数限制)删除表中的数据

          DB::delete('test_db', 'id>1',1)


DB::insert($tablename, 数据(数组),是否返回插入ID,是否是替换式,是否silent报错)插入数据操作

         DB::insert(''test_db, array('a'=>1,'b'=>2),false,true,true)


DB::update($tablename, 数据(数组),条件,$unbuffered, 是否不锁表)更新操作

        DB::insert(''test_db, array('name'=>'admin','passwd'=>'123'),'id=1')

DB::fetch_first($sql, $arg)取查询的第一条数据fetch DB::fetch_all($sql)查询并fetch

<?php 

      $id = 1;

         $data = DB::fetch_first(

                   "select * from %t where id=%d",

                    array('test_db', $id)

        );

        debug($data);

  DB::fetch_all($sql, $arg绑定查询参数, $keyfield可指定数组索引, $silent )  多条查询

<?php

        $data = DB::fetch_all("select * from %t where id >= %d and id <= %d",

                    array('test_db', 3, 5) 

        );

        debug($data);

 
DB::result_first($sql)查询结果集的第一个字段值

<?php

         DB::result_first("select count(*) from %t",

          array('test_db')

          );

DB::query($sql, $arg, $silent, $unbuffered)普通查询

DB::fetch($resourceid, $type)从结果集中取关联数组,注意如果结果中的两个或以上的列具有相同字段名,最后一列将优先。

<?php

  $res = DB::query("select * from %t where id IN (%n)", array(

        'test_db', array(1,2,3)

));

  $rows = array();

  while($row = DB::fetch($res)){

    $rows[] = $row;

}

  debug($rows);

DB::num_rows($resource)获得记录集总条数 

DB::_execute(命令,参数)执行mysql类的命令 

DB::limit(n,n)返回限制字串
DB::field($filed, $val, $glue) 返回条件,如果为数组则返回 in 条件 

<?php

  echo DB::field('id', 99, '=');

    //输出  'id'=99

DB::order(别名, 方法)排序