2012-03-28 29 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

これはクラスであるので、あなたは$dbUser、代わりに$dbHost$this->dbHost$this->dbUserなどを使用して、クラス変数にアクセスする必要があります。 PHPでは、クラス変数に$ this-> variableNameを使用する必要があります。

EDIT:

ここでは理にかなって

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

+1

はい、プライベートは行く方法です。クラスがそれらの変数へのアクセスを制御するようにしたいとします。 – Gohn67

関連する問題