我最近開始在php中編寫代碼,並且正在學習面向對象的PHP。 我也碰到過,我似乎無法讓我的頭一輪出錯的問題:PHP OO調用非對象
Fatal error: Call to a member function verify_Username_And_Password() on a non-object in C:\wamp\www\sso\lib\UserManagement.php on line 57
據我所知,該方案似乎認爲MySQL的類變量是空的,但不是爲什麼當它被實例化。
函數verify_Username_And_Password($ username,$ password)是在Mysql類中定義的。
以下是來自UserManagement.php的代碼,包含不需要的部分。
<?PHP
require_once 'lib/Mysql.php';
class UserManagement {
private $mysql;
function __construct(){
session_start();
$this->manage_Session();
$this->mysql = new Mysql();
}
function validate_User ($username, $password){
$user_Check = $this->mysql->verify_Username_And_Password($username, md5($password));
if($user_Check) {
return true;
} else {
return false;
}
}
}
我必須在PHP中丟失一些基本的OO。我會很感激任何人都可以提供的建議。如果需要,我會很高興發佈更多代碼。
按此處要求是: Mysql.php pastebin。 UserManagement.php pastebin
你能告訴我們Mysql.php代碼 –
你可以發佈構造UserManagement對象並調用'validate_User()'的代碼嗎? – bcmcfc
我看不出有什麼明顯的錯誤,但它意味着'$ this-> mysql'沒有被設置 - 或者它已被設置,然後被代碼中其他地方的代碼覆蓋。 「Mysql.php」文件中有什麼?有沒有其他地方'$ this-> mysql'被覆蓋? –