2012-03-28 70 views
0

我遇到了我的DatabaseConnection類問題。我似乎無法獲得$dbUser$dbName變量爲此連接類工作。我目前必須手動將值放在引號中。有什麼我做錯了嗎?PHP:數據庫連接類 - 不會連接

class DatabaseConnection { 
    private $dbHost = "localhost"; 
    private $dbUser = "root"; 
    private $dbPass = ""; 
    private $dbName = "test"; 

    function __construct() { 
     $connection = mysql_connect($dbHost, "root", $dbPass) 
      or die("Could not connect to the database:<br />" . mysql_error()); 
     mysql_select_db("test", $connection) 
      or die("Database error:<br />" . mysql_error()); 
    } 
} 

如果您有任何關於改善我當前班級的建議,請務必通知我!

回答

2

由於這是一個班級,您必須使用$this->dbHost$this->dbUser等來代替$dbHost$dbUser來訪問您的班級變量。 Php要求你使用$ this-> variableName作爲類變量。

編輯:

這裏是你的代碼改爲訪問類變量

class DatabaseConnection { 
    private $dbHost = "localhost"; 
    private $dbUser = "root"; 
    private $dbPass = ""; 
    private $dbName = "test"; 

    function __construct() { 
     $connection = mysql_connect($this->dbHost, $this->dbUser, $this->dbPass) 
      or die("Could not connect to the database:<br />" . mysql_error()); 
     mysql_select_db("test", $connection) 
      or die("Database error:<br />" . mysql_error()); 
    } 
} 
+0

優秀的的mysql_connect變量,這是有道理的,謝謝。另一個快速的問題,但是我將這些變量設置爲'private',還是應該只是'var'? – Aaron 2012-03-28 04:33:30

+1

是的,私人是要走的路。你想讓它能夠讓你的班級控制對這些變量的訪問。 – Gohn67 2012-03-28 04:37:05