Discuz数据库类

出自Discuz! 技术文库

跳转到: 导航, 搜索
/**
 * Discuz MySQL 类的支持 程序中不直接使用
 *
 */
class db_mysql
{
	......
}

/**
 * 对Discuz CORE 中 DB Object中的主要方法进行二次封装,方便程序调用
 *
 */
class DB
{

	/**
	 * 返回表名(pre_$table)
	 *
	 * @param 原始表名 $table
	 * @return 增加pre之后的名字
	 */
	function table($table) {
		......
	}

	/**
	 * 删除一条或者多条记录
	 *
	 * @param string $table 原始表名
	 * @param string $condition 条件语句,不需要写WHERE
	 * @param int $limit 删除条目数
	 * @param boolean $unbuffered 立即返回?
	 */
	function delete($table, $condition, $limit = 0, $unbuffered = true) {
		......
	}

	/**
	 * 插入一条记录
	 *
	 * @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
	 */
	function insert($table, $data, $return_insert_id = false, $replace = false, $silent = false) {
		......
	}

	/**
	 * 更新一条或者多条数据记录
	 *
	 * @param string $table 原始表名
	 * @param array $data 数据field-value
	 * @param string $condition 条件语句,不需要写WHERE
	 * @param boolean $unbuffered 迅速返回?
	 * @param boolan $low_priority 延迟更新?
	 * @return result
	 */
	function update($table, $data, $condition, $unbuffered = false, $low_priority = false) {
		......
	}

	/**
	 * 格式化field字段和value,并组成一个字符串
	 *
	 * @param array $array 格式为 key=>value 数组
	 * @param 分割符 $glue
	 * @return string
	 */
	function implode_field_value($array, $glue = ',') {
		......
	}

	/**
	 * 返回插入的ID
	 *
	 * @return int
	 */
	function insert_id() {
		......
	}

	/**
	 * 依据查询结果,返回一行数据
	 *
	 * @param resourceID $resourceid
	 * @return array
	 */
	function fetch($resourceid, $type = MYSQL_ASSOC) {
		......
	}

	/**
	 * 依据SQL文,返回一条查询结果
	 *
	 * @param string $query 查询语句
	 * @return array
	 */
	function fetch_first($sql) {
		......
	}

	/**
	 * 依据查询结果,返回结果数值
	 *
	 * @param resourceid $resourceid
	 * @return string or int
	 */
	function result($resourceid, $row = 0) {
		......
	}

	/**
	 * 依据查询语句,返回结果数值
	 *
	 * @param string $query SQL查询语句
	 * @return unknown
	 */
	function result_first($sql) {
		......
	}

	/**
	 * 执行查询
	 *
	 * @param string $sql
	 * @param 类型定义 $type UNBUFFERED OR SILENT
	 * @return Resource OR Result
	 */
	function query($sql, $type = '') {
		......
	}

	/**
	 * 返回select的结果行数
	 *
	 * @param resource $resourceid
	 * @return int
	 */
	function num_rows($resourceid) {
		......
	}

	/**
	 * 返回sql语句所影响的记录行数
	 *
	 * @return int
	 */
	function affected_rows() {
		......
	}

	function free_result($query) {
		......
	}

	function error() {
		......
	}

	function errno() {
		......
	}

	function _execute($cmd , $arg1 = '', $arg2 = '') {
		......
	}

	/**
	 * 返回 DB object 指针
	 *
	 * @return pointer of db object from discuz core
	 */
	function &object($dbclass = 'db_mysql') {
		......
	}

	function checkquery($sql) {
		......
	}

	function _do_query_safe($sql) {
		......
	}

}
个人工具