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