Php Singleton和我的db类
当我尝试打开我的网站时,我发现以下错误: 注意:第75行的\www\classes\db.class.php中未定义的属性:User:$mysqliPhp Singleton和我的db类,php,mysqli,singleton,undefined,Php,Mysqli,Singleton,Undefined,当我尝试打开我的网站时,我发现以下错误: 注意:第75行的\www\classes\db.class.php中未定义的属性:User:$mysqli 致命错误:对第75行www\classes\db.class.php中的非对象调用成员函数prepare() 75行和GetInstance() 用户类 class User extends db { public $username; public $user_info;
致命错误:对第75行www\classes\db.class.php中的非对象调用成员函数prepare() 75行和GetInstance() 用户类
class User extends db
{
public $username;
public $user_info;
public function __construct()
{
if (!isset($_SESSION['username']) || !isset($_SESSION['hash']) || !isset($_SESSION['last_activity'])) {
Template::login_page('login.tpl');
exit;
} else {
$this->username = $_SESSION['username'];
if (!db::getInstance()->session_check($this->username, $_SESSION['hash'])) {
Template::login_page('login.tpl');
exit;
}
}
}
}
所以,我不知道出了什么问题。我想你需要使用
如果(db::getInstance()->session\u check($this->username,
$\u会话['hash']))
而不是
如果(!db::getInstance()->会话检查($this->username,
$\u会话['hash']))
所以,若类可以初始化(脚本连接到数据库)->你们可以做一些事情。在其他情况下,您需要抛出异常“无法连接到数据库”
由于缺少db类代码和使用上下文,我们也不知道出了什么问题。我们唯一可以确定的是,
$this->mysqli
不是您想象的那样。@mario刚刚添加了完整的代码。
class User extends db
{
public $username;
public $user_info;
public function __construct()
{
if (!isset($_SESSION['username']) || !isset($_SESSION['hash']) || !isset($_SESSION['last_activity'])) {
Template::login_page('login.tpl');
exit;
} else {
$this->username = $_SESSION['username'];
if (!db::getInstance()->session_check($this->username, $_SESSION['hash'])) {
Template::login_page('login.tpl');
exit;
}
}
}
}
if (!db::getInstance()->session_check($this->username, $_SESSION['hash'])) {
throw new Exception("Can't connect to database.");
} else {
//blablabla
}