网学网为广大网友收集整理了,php下mysql数据库操作类(改自discuz),希望对大家有所帮助!
复制代码 代码如下:
<?php
/* --------------------------------
System:PT book - PT小说小偷
Code: 杰少Pakey
----------------------------------- */
$pt_mysql = new dbQuery;
/**
* mysql
查询类
*
*/
class dbQuery {
/**
*
查询总次数
*
* @var int
*/
var $querynum = 0;
/**
* 连接句柄
*
* @var object
*/
var $link;
/**
* 构造函数
*
* @param string $dbhost 主机名
* @param string $dbuser 用户
* @param string $dbpw 密码
* @param string $dbname 数据库名
* @param int $pconnect 是否持续连接
*/
function connect($dbhost, $dbuser, $dbpw, $dbname = '''', $pconnect = 0) {
if($pconnect) {
if(!$this->link = @mysql_pconnect($dbhost, $dbuser, $dbpw)) {
$this->halt(''Can not connect to MySQL server'');
}
} else {
if(!$this->link = @mysql_connect($dbhost, $dbuser, $dbpw)) {
$this->halt(''Can not connect to MySQL server'');
}
}
if($this->version() > ''4.1'') {
global $dbcharset;
if($dbcharset) {
mysql_query("SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary", $this->link);
mysql_query("set names ''GBK''");
}
if($this->version() > ''5.0.1'') {
mysql_query("SET sql_mode=''''", $this->link);
mysql_query("set names ''GBK''");
}
}
if($dbname) {
mysql_select_db($dbname, $this->link);
}
}
/**
* 选择数据库
*
* @param string $dbname
* @return
*/
function select_db($dbname) {
return mysql_select_db($dbname, $this->link);
}
/**
* 取出结果集中一条记录
*
* @param object $query
* @param int $result_type
* @return array
*/
function fetch_array($query, $result_type = MYSQL_ASSOC) {
return mysql_fetch_array($query, $result_type);
}
/**
*
查询SQL
*
* @param string $sql
* @param string $type
* @return object
*/
function query($sql, $type = '''') {
$func = $type == ''UNBUFFERED'' && @function_exists(''mysql_unbuffered_query'') ?
''mysql_unbuffered_query'' : ''mysql_query'';
if(!($query = $func($sql, $this->link)) && $type != ''SILENT'') {
$this->halt(''MySQL Query Error'', $sql);
}
$this->querynum++;
return $query;
}
/**
* 取影响条数
*
* @return int
*/
function affected_rows() {
return mysql_affected_rows($this->link);
}
/**
* 返回错误信息
*
* @return array
*/
function error() {
return (($this->link) ? mysql_error($this->link) : mysql_error());
}
/**
* 返回错误代码
*
* @return int
*/
function errno() {
return intval(($this->link) ? mysql_errno($this->link) : mysql_errno());
}
/**
* 返回
查询结果
*
* @param object $query
* @param string $row
* @return mixed
*/
function result($query, $row) {
$query = @mysql_result($query, $row);
return $query;
}
/**
* 结果条数
*
* @param object $query
* @return int
*/
function num_rows($query) {
$query = mysql_num_rows($query);
return $query;
}
/**
* 取字段总数
*
* @param object $query
* @return int
*/
function num_fields($query) {
return mysql_num_fields($query);
}
/**
* 释放结果集
*
* @param object $query
* @return bool
*/
function free_result($query) {
return mysql_free_result($query);
}
/**
* 返回自增ID
*
* @return int
*/
function insert_id() {
r