有誰能告訴我爲什麼這不起作用。爲什麼這個php變量undefined
class class1 {
private $database;
function class1()
{
$database = $this->connect();
}
private function connect(){
$database = mysqli_connect("localhost","username","","db");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
return $database;
}
private function usedb(){
$query = "some sql";
mysqli_query($database,$query);
}
}
我希望這個簡單的例子可以清楚地描述我的問題。無論如何,當我運行這樣的東西時,顯示的錯誤告訴我在「usedb()」函數中有一個未定義變量「數據庫」的引用。就好像變量已經超出範圍......任何人都可以給我一個解決方案嗎?
因爲變量_has_已經消失超出範圍。 '$ database'是你函數中的局部變量;你應該使用'$ this-> database'來訪問該類的屬性。 – andrewsi 2014-10-10 17:08:31
@andrewsi是對的:在PHP中,您需要*使用'this'關鍵字來訪問類成員,而不像Java或C#。 – SolarBear 2014-10-10 17:09:39