由于某种原因,PHP无法找到我的私有变量。
我收到以下错误消息
* 6在stderr中发送的FastCGI:" PHP消息:PHP注意:未定义的变量:第24行的/var/www/simple-blog/models/database.php中的_database PHP消息:PHP致命错误:未捕获错误:无法访问/var/www/simple-blog/models/database.php:24中的空属性
第24行是我设置$ _database = $ database。
的行class Database {
private $_database;
private $_mysqli;
public function connect(string $host, string $username, string $password, string $database) : bool
{
$this->$_database = $database;
$this->$_mysqli = new mysqli($host, $username, $password, $database);
if ($this->$_mysqli->connect_error) {
return false;
} else {
return true;
}
}
...
我尝试删除那些但是PHP无法找到变量$ _mysqli
答案 0 :(得分:2)
您使用该变量的方式不正确。有关php类变量的更多详细信息,请查看http://php.net/manual/en/language.oop5.visibility.php
将$this->$_database
更改为$this->_database
。
将$this->$_mysql
更改为$this->_mysql
答案 1 :(得分:0)
你必须改变
$this->$_database = $database;
到
$this->_database = $database;
和
$this->$_mysqli
到
$this->_mysqli
和
$this->$_mysqli->connect_error
到
$this->_mysqli->connect_error
答案 2 :(得分:0)
更改声明可变项的方式:
$this->_database = $database;