2010-05-01 226 views
0

我只是冒險進入OOP的世界,所以請原諒我,如果這是一個n00bish問題。數據庫類沒有正確連接到我的數據庫

這是我對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-連接]:拒絕用戶 'ODBC' 訪問 @ 'localhost' 的 (使用密碼:NO)在 C:\ XAMPP \ htdocs中\包括\在線22

事情database.class.php 是我不知道它在哪兒了,它需要使用ODBC作爲用戶的想法...我已經讀過關於做這些事情的信息,並且從我能收集到的信息中我正確地做到了。

任何人都可以借我一隻手嗎?

謝謝。

+0

blerh,請v ote並接受答案。 – webbiedave 2010-05-01 19:00:58

回答

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);