我對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