楼主把你的那个db_mysql.php贴出来,不然的话,没办法看出什么问题

解决方案 »

  1.   

    你所包含的db_mysql.php应该是Discuz 论坛的程序
    所以在
    require "db_mysql.php";
    之前应该
    define('IN_DISCUZ', TRUE);
    变成:<?php
    define('IN_DISCUZ', TRUE);
    require "db_mysql.php";
    $db = new db;
    $fdb = new db;
    $chcdb="acc";
    $fdb->connect($dbhost, $dbuser, $dbpw, $chcdb, $pconnect);
    $db->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect);
    $fs=$fdb->query("SELECT name,key FROM user where FUserName='acc'");
    $info = $fdb->fetch_array($fs);
    $query=$db->query("SELECT username,id FROM member WHERE username = 'acc'");
    $member = $db->fetch_array($query);
    echo $info[name]."<br>";
    echo $member['id'];
    ?>
      

  2.   

    在你的db_mysql.php中应该有:
    if(!defined('IN_DISCUZ')) {
    exit('Access Denied');
    }
      

  3.   

    db_mysql.php是网上找的数据库连接类,我也不知道是不是discuz的,可是里面并没有:
    if(!defined('IN_DISCUZ')) {
    exit('Access Denied');
    }
    下面是内容:
    class dbstuff {
    var $querynum = 0; function connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect = 0) {
    if($pconnect) {
    if(!@mysql_pconnect($dbhost, $dbuser, $dbpw)) {
    exit('Can not connect to MySQL server');
    }
    } else {
    if(!@mysql_connect($dbhost, $dbuser, $dbpw)) {
    exit('Can not connect to MySQL server');
    }
    } mysql_select_db($dbname);
    } function select_db($dbname) {
    return mysql_select_db($dbname);
    } function fetch_array($query, $result_type = MYSQL_ASSOC) {
    return mysql_fetch_array($query, $result_type);
    } function query($sql, $silence = 0) {
    $query = mysql_query($sql);
    if(!$query && !$silence) {
    $this->halt('MySQL Query Error', $sql);
    }
    $this->querynum++;
    return $query;
    }
            function query_first($query_string) {
            $query_id = $this->query($query_string);
            $returnarray=$this->fetch_array($query_id);
            $this->free_result($query_id);
            return $returnarray;
            }
    function unbuffered_query($sql, $silence = 0) {
    $func_unbuffered_query = @function_exists('mysql_unbuffered_query') ? 'mysql_unbuffered_query' : 'mysql_query';
    $query = $func_unbuffered_query($sql);
    if(!$query && !$silence) {
    $this->halt('MySQL Query Error', $sql);
    }
    $this->querynum++;
    return $query;
    } function affected_rows() {
    return mysql_affected_rows();
    } function error() {
    return mysql_error();
    } function errno() {
    return 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 close() {
    return mysql_close();
    }
    }
      

  4.   

    我上面的:
    $db  =  new  db;  
    $fdb  =  new  db;
    是对的,,因为我已经把类改名为db了,
      

  5.   

    访问拒绝,
    你的代码不全。
    数据库相关变量定义没有贴出,如果为远程连接MYSQL请查看是否有权限
      

  6.   

    相关变量:$dbhost = 'localhost';
    $dbuser = 'acc';
    $dbpw = '*********';
    $dbname = 'test';
    $pconnect = 1;
      

  7.   

    可查看你定义的用户是否有权限连接。试试用root用户连接
      

  8.   

    to syre(北冥有鱼):
    我已经试过了,一样的.
      

  9.   

    to ice_berg16(寻梦的稻草人):
    帐号测试可以连接,acc和root有一样的权限的,,可以对所有数据库操作.
      

  10.   

    先这样测试
    require "db_mysql.php";
    $db = new db;
    $fdb = new db;
    $chcdb="acc";
    $db->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect);
    $query=$db->query("SELECT username,id FROM member WHERE username = 'acc'");
    $member = $db->fetch_array($query);
    echo $member['id'];