Discuz 提供了操作数据库对象DB,通过直接调用其静态方法可方便操作数据库。
DB::table(); 返回带前缀的数据表名称。如DB::table('common_count'); 返回 pre_common_count;
DB::query($sql, $type = '') ; 执行查询
* @param string $sql
* @param 类型定义 $type UNBUFFERED OR SILENT
* @return Resource OR Result
DB::delete($table, $condition, $limit = 0, $unbuffered = true) ; 删除一条或多条记录;
* @param string $table 原始表名
* @param string $condition 条件语句,不需要写WHERE
* @param int $limit 删除条目数
* @param boolean $unbuffered 立即返回?
DB::insert($table, $data, $return_insert_id = false, $replace = false, $silent = false) ; 插入记录
* @param string $table 原始表名
* @param array $data 数组field->vlaue 对
* @param boolen $return_insert_id 返回 InsertID?
* @param boolen $replace 是否是REPLACE模式
* @param boolen $silent 屏蔽错误?
* @return InsertID or Result
DB::update($table, $data, $condition, $unbuffered = false, $low_priority = false) ; 更新记录
* @param string $table 原始表名
* @param array $data 数据field-value
* @param string $condition 条件语句,不需要写WHERE
* @param boolean $unbuffered 迅速返回?
* @param boolan $low_priority 延迟更新?
* @return result
DB::implode_field_value($array, $glue = ',') ; 格式化field字段和value,并组成一个字符串
* @param array $array 格式为 key=>value 数组
* @param 分割符 $glue
* @return string
DB::insert_id() ; 返回插入的ID
* @return int
DB::fetch($resourceid, $type = MYSQL_ASSOC) ; 依据查询结果,返回一行数据
* @param resourceID $resourceid
* @return array
DB::fetch_first($sql) ; 依据SQL文,返回一条查询结果
- @param string $query 查询语句
- @return array
DB::fetch_all($sql) ; 返回查询多条记录数据
根据一组主键值得到多行记录(二维数据,主 键值为 key)、count方法返回了表的总记录数据;
DB::result($resourceid, $row = 0) ; 依据查询结果,返回结果数值
- @param resourceid $resourceid
- @return string or int
DB::result_first($sql) ; 依据查询语句,返回结果数值
- @param string $query SQL查询语句
- @return unknown
DB::num_rows($resourceid) ; 返回select的结果行数
- @param resource $resourceid
- @return int
DB::affected_rows() ; 返回sql语句所影响的记录行数
- @return int