发一个discuz中的操作mysql的类
                           
                           这个类是discuz中的,稍作修改
mysql_db.php
<?php
class dbclass{
    var $querynum = 0;
    function connect($dbhost, $dbuser, $dbpw, $dbname = '',$dbcharset='', $pconnect = 0) {
        if($pconnect) {
            if(!@mysql_pconnect($dbhost, $dbuser, $dbpw)) {
                $this->halt('Can not connect to MySQL server');
            }
        } else {
            if(!@mysql_connect($dbhost, $dbuser, $dbpw)) {
                $this->halt('Can not connect to MySQL server');
            }
        }
        if($dbcharset) {
            if(!$dbcharset && in_array(strtolower($charset), array('gbk', 'big5', 'utf-8'))) {
                $dbcharset = str_replace('-', '', $charset);
            }
            if($dbcharset) {
                $this->query("SET NAMES '$dbcharset'");
            }
        }
        if($dbname) {
            mysql_select_db($dbname);
        }
    }
    function select_db($dbname) {
        return mysql_select_db($dbname);
    }
    function fetch_array($query, $result_type = MYSQL_ASSOC) {
    //MYSQL_ASSOC用 MYSQL_ASSOC 只得到关联索引(如同 mysql_fetch_assoc() 那样),用 MYSQL_NUM 只得到数字索引(如同 mysql_fetch_row() 那样)。MYSQL_BOTH是默认的,可以是数字也可以是关联索引
        return mysql_fetch_array($query, $result_type);
    }
    function query($sql, $type = '') {
        $func = $type == 'UNBUFFERED' && @function_exists('mysql_unbuffered_query') ?
            'mysql_unbuffered_query' : 'mysql_query';
        if(!($query = $func($sql)) && $type != 'SILENT') {
            $this->halt('MySQL Query Error', $sql);
        }
        $this->querynum++;
        return $query;
        /*mysql_unbuffered_query() 向 MySQL 发送一条 SQL 查询 query,但不像 mysql_query() 那样自动获取并缓存结果集。一方面,这在处理很大的结果集时会节省可观的内存。另一方面,可以在获取第一行后立即对结果集进行操作,而不用等到整个 SQL 语句都执行完毕。当使用多个数据库连接时,必须指定可选参数 link_identifier。 */
    }
    function affected_rows() {
        return mysql_affected_rows();
    }
    function error() {
        return mysql_error();
    }
    function errno() {
        return intval(mysql_errno());
    }
    function result($query, $row) {
        $query = @mysql_result($query, $row);
        return $query;
    }
    function num_rows($query) {
        $query = mysql_num_rows($query);
        return $query;
    }
    function num_fields($query) {
        return mysql_num_fields($query);
    }
    function free_result($query) {
        return mysql_free_result($query);
    }
    function insert_id() {
        $id = mysql_insert_id();
        return $id;
    }
    function fetch_row($query) {
        $query = mysql_fetch_row($query);
        return $query;
    }
    function version() {
        return mysql_get_server_info();
    }
    function close() {
        return mysql_close();
    }
    function halt($message = '', $sql = '') {
        if(!$sql) echo $message;
        else echo $message.'<br>'.$sql;
    }
}
?> ;
举个例子:
<?php 
require("mysql_db.php");
$db = new dbclass();
$db->connect('localhost', 'root', '','test');
$query = $db->query('select * from test');
while($row = $db->fetch_array($query)) {
echo $row['id'].'<br>';
}
?> ;