1
所以我試圖在PHP OOP中使用我的手,並且我試圖做一個簡單的mysql數據庫連接類。這是我的代碼,然後我會解釋發生了什麼。PHP OOP:當錯誤信息通過時,mysql_connect不會返回false
的index.php
<?php
// Connect to Database Class
require_once('../libs/DB.class');
$connection = new DatabaseConnect('localhost', '', '');
DB.class
<?php
class DatabaseConnect {
// When class is called, make sure to grab the host, username, and password to connect to the MySQL Database
public function __construct($db_host, $db_username, $db_password) {
echo 'Attempting Connection . . . <br>';
// If the method Connect() doesn't return true then kill the script and say you done messed up... or tell the user that connection has been successful
if(!$this->Connect($db_host, $db_username, $db_password)) {
die("Connection to $db_host failed");
} else {
echo "Connected to $db_host";
}
}
// When the Connect method is called from the construct, grab the passed variables, try to connect, and return true or false
public function Connect($db_host, $db_username, $db_password) {
if(!mysql_connect($db_host, $db_username, $db_password)) {
return false;
} else {
return true;
}
}
}
由於我提供了沒有用戶名,並且使得在index.php文件對象時沒有密碼,該構建體應殺該腳本並說我還沒有能夠連接到MySQL。但是,無論我提供給$ db_username或$ db_password變量,無論登錄信息是否正確,Connect()方法總是返回true。它永遠不會返回錯誤。我不知道爲什麼。任何幫助,將不勝感激。
謝謝!
停止使用**過時並且PHP7的去除**'mysql_ * '功能。遷移到PDO並開始使用準備好的語句。 –
感謝您的建議,但我想弄清楚爲什麼我的代碼不工作。 –
您應該使用PDO而不是創建您自己的DatabaseConnect類... –