[英]MySQL query handle undefined
我有以下代碼,它工作正常。 查詢執行完畢,一切正常。 但是我從 PHP 收到一個錯誤: Notice: Undefined variable: handle in..../class.database.php on line 43
。
我不知道為什么會這樣。
(第 43 行指向下面標記的代碼行)
function __construct($hostname, $user, $pass, $databasename)
{
$this->$handle = mysqli_connect($hostname, $user, $pass);
if(!$this->$handle)
{
$this->seterror();
return false;
}
$handle = mysqli_select_db($this->$handle, $databasename);
if(!$handle)
{
$this->seterror();
return false;
}
return true;
}
function query($text)
{
$result = mysqli_query($this->$handle,$text); // LINE 43
if(!$result)
{
$this->seterror();
$this->geterror(); // temp
return false;
}
return $result;
}
對 class 屬性使用美元符號是不必要的,您可以將$this->$handle
更改為$this->handle
function __construct($hostname, $user, $pass, $databasename)
{
$this->handle = mysqli_connect($hostname, $user, $pass);
if(!$this->handle)
{
$this->seterror();
return false;
}
$handle = mysqli_select_db($this->handle, $databasename);
if(!$handle)
{
$this->seterror();
return false;
}
return true;
}
function query($text)
{
$result = mysqli_query($this->handle,$text); // LINE 43
if(!$result)
{
$this->seterror();
$this->geterror(); // temp
return false;
}
return $result;
}
句柄應該是使用“public”、“private”或“protected”關鍵字聲明的 class 的屬性。 如果您使用的是最新版本的 PHP,則不應使用“var”來專門聲明屬性。
就像之前說的那樣。 如果您正確聲明財產,您將不得不更改
$this->$handle 到 $this->handle
讓它工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.