我对OOP非常陌生,并且正在努力学习它。所以请原谅我的noobness。我试图连接到MySQL,并测试连接是否成功,我使用if-else
条件。OOP - 通过__construct连接到数据库
令人惊讶的是,即使在传递错误的登录凭证时,mysql_connect
也总是返回true。现在我试图弄清楚为什么它会花费大约20分钟,我放弃了。因此,我来到这里寻求社区的帮助。这里是我的代码:
class test
{
private $host = 'localhost';
private $username = 'root2'; // using wrong username on purpose
private $password = '';
private $db = 'dummy';
private $myConn;
public function __construct()
{
$conn = mysql_connect($this->host, $this->username, $this->password);
if(!$conn)
{
die('Connection failed'); // this doesn't execute
}
else
{
$this->myConn = $conn;
$dbhandle = mysql_select_db($this->db, $this->myConn);
if(! $dbhandle)
{
die('Connection successful, but database not found'); // but this gets printed instead
}
}
}
}
$test = new test();
您的问题绝对没有任何与OOP –
做试试这个代替'$康恩=的mysql_connect($这个 - >主机,$这个 - >用户名,$这个 - >密码)或死亡(mysql_error()) ;'对不起我的PHP有点生锈 – Armand
尤其是当你正在学习[**请不要在新代码**中使用'mysql_ *'函数](http://bit.ly/phpmsql)。他们不再被维护[并且被正式弃用](http://j.mp/XqV7Lp)。看到[**红框**](http://j.mp/Te9zIL)?学习[*准备的语句*](http://j.mp/T9hLWi),并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [这篇文章](http://j.mp/QEx8IB)将帮助你决定哪个。如果你选择PDO,[这里是一个很好的教程](http://j.mp/PoWehJ)。如果你遵循它,你应该有一个成功的连接到你的数据库。 – vascowhite