数据库类未正确连接到我的数据库

时间:2010-05-01 18:43:05

标签: php database class object

我只是冒险进入OOP世界,请原谅我,如果这是一个难以理解的问题。

这就是index.php上的内容:

$dbObj = new Database();
$rsObj = new RS($dbObj);

这是数据库类:

class Database
{
    private $dbHost;
    private $dbUser;
    private $dbPasswd;
    private $dbName;
    private $sqlCount;

    function __construct()
    {
        $this->dbHost   = 'localhost';
        $this->dbUser   = 'root';
        $this->dbPasswd = '';
        $this->dbName   = 'whatever';
        $this->sqlCount = 0;
    }

    function connect()
    {
        $this->link = mysql_connect($this->db_host, $this->db_user, $this->db_passwd);
        if(!$this->link)
                $this->error(mysql_error());

        $this->selection = mysql_select_db($this->db_name, $this->link);
        if(!$this->selection)
                $this->error(mysql_error());
    }
}

我已将其简化为connect()方法以简化操作。

这是RS类:

class RS
{
    private $username;
    private $password;

    function __construct($dbObj)
    {
        // We need to get an account from the db
        $dbObj->connect();

    }
}

正如您可能看到的,我需要访问并使用RS类中的数据库类。但是当我加载页面时出现此错误:

  

警告:mysql_connect()   [function.mysql-connect]:访问   否认用户'ODBC'@'localhost'   (使用密码:NO)in   C:\ XAMPP \ htdocs中\包括\ database.class.php   在第22行

事情是我不知道它在哪里得到它需要使用ODBC作为用户的想法...我已经阅读了这些东西并且从我可以收集的内容我正在做正确。

有人可以伸出援助之手吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

connect()中的属性名称与类的属性名称不匹配。

变化:

$this->link = mysql_connect($this->db_host, $this->db_user, $this->db_passwd);

要:

$this->link = mysql_connect($this->dbHost, $this->dbUser, $this->dbPasswd);

并改变:

$this->selection = mysql_select_db($this->db_name, $this->link);

要:

$this->selection = mysql_select_db($this->dbName, $this->link);