I am trying to create a Database by passing values to the class constructor. <?php class database { var $host; var $username; var $password; private function buildDB(){ $sql = "create database cms"; if(mysql_query($sql)) { return mysql_query($sql); } else { echo mysql_error(); } } public function __construct($host,$username,$password) { mysql_connect($this->host,$this->username,$this->password) or die("Could not connect. " . mysql_error()); return $this->buildDB(); } } $db_obj = new database('localhost','root',''); ?> PHP: The above code returns Access denied for user ''@'localhost' to database 'cms', however the username , server and password is correct. Thanks
You was trying to get values of the database object properties rather than the method variables you was passing. This is the code for accessing the object properties: <?php class database { var $host = 'localhost'; var $username = 'root'; var $password = ''; private function buildDB(){ $sql = "create database cms"; if(mysql_query($sql)) { return mysql_query($sql); } else { echo mysql_error(); } } public function __construct() { mysql_connect($host,$this->username,$this->password) or die("Could not connect. " . mysql_error()); return $this->buildDB(); } } $db_obj = new database(); ?> PHP: This is the code for accessing a methods properties: <?php class database { private function buildDB(){ $sql = "create database cms"; if(mysql_query($sql)) { return mysql_query($sql); } else { echo mysql_error(); } } public function __construct($host, $username, $password) { mysql_connect($host,$this->username,$this->password) or die("Could not connect. " . mysql_error()); return $this->buildDB(); } } $db_obj = new database('localhost', 'root', ''); ?> PHP:
Thanks for the help but second code is not working Notice: Undefined property: database::$username in C:\xampp\htdocs\ginny\cms\cms.php on line 18 Notice: Undefined property: database::$password in C:\xampp\htdocs\ginny\cms\cms.php on line 18 Access denied for user ''@'localhost' to database 'cms' Code (markup): correct code is <?php class database { private function buildDB(){ $sql = "create database cms"; if(mysql_query($sql)) { return mysql_query($sql); } else { echo "error"; } } public function __construct($host, $username, $password) { mysql_connect($host,$username,$password) or die("Could not connect. " . mysql_error()); return $this->buildDB(); } } $db_obj = new database('localhost', 'root', ''); ?> PHP: