无法使用$ this调用数据库连接

尼克

每当我尝试调用它时$this->dbcIs_Staff都会返回一条错误消息:

Fatal error: Using $this when not in object context

我不太确定为什么要这么做。我试过将$ dbc设置为全局,但这似乎无济于事。

Class BoardDatabase {

            public $dbhost = "localhost"; // Host
            public $dbuser = "root"; // Username
            public $dbpass = ""; // Password
            public $dbname = "NecBoard"; // Database

            public function __construct($dbhost, $dbuser, $dbpass, $dbname) {

                $this->dbc = new mysqli($this->dbhost, $this->dbuser, $this->dbpass, $this->dbname) or die("Couldnt connect to the database! " . mysqli_errno);
                if(!$this->dbc) {
                    die("Could not connect to database: " . $this->dbc->connect_errno());
                }
            }

            public static function Is_Staff($type, $bool) {

                if($type == "mod") {
                    if($bool == true) {

                        $IsStaff = $this->dbc->prepare("SELECT is_mod FROM users WHERE id = ?");
                        $IsStaff->bind_param("s", $_SESSION["id"]);
                        $IsStaff->execute();
                        $IsStaff->bind_result($is_mod);

                        $IsStaff->store_result();
                        if($IsStaff->num_rows >= 1) {

                            $IsStaff->fetch();
                            if($is_mod >= 1) {
                                return true;
                            } else {
                                return false;
                            }

                        }

                    } else {
                        return false;
                    }
                }

            }

        }
毒素

问题

首先,当$dbc变量BoardDatabase甚至不是对象本身的属性时,您都将其作为对象的上下文进行访问

其次,您不能$this在静态上下文中使用来访问变量

解决方案

$dbc在顶部将变量声明为静态变量:

public static $dbc;

并在对象上下文中以这种方式访问​​它:

self::$dbc

这应该可以解决您的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法连接到redshift数据库

来自分类Dev

无法使用Android连接到数据库

来自分类Dev

数据库无法连接或更新

来自分类Dev

无法使用PHP连接到数据库

来自分类Dev

无法使用MySQLConnection连接到MySQL数据库

来自分类Dev

无法使用SQuirrelSQL连接到SQL数据库

来自分类Dev

无法连接到数据库[默认]

来自分类Dev

无法使用JDBC连接到Sql Server数据库

来自分类Dev

PHP函数无法连接到数据库以调用查询

来自分类Dev

pyodbc无法连接到数据库

来自分类Dev

使用MySQLWorkbench无法连接到(远程)MySQL数据库

来自分类Dev

无法使用Django连接到Firebird数据库

来自分类Dev

无法使用Docker连接我的postgres数据库

来自分类Dev

数据库无法连接

来自分类Dev

无法使用Shell脚本连接mysql数据库

来自分类Dev

无法使用PHP连接到数据库

来自分类Dev

无法使用PDO连接到数据库

来自分类Dev

DVWA无法使用MAMP连接到数据库

来自分类Dev

PHP函数无法连接到数据库以调用查询

来自分类Dev

无法使用Java从VM连接到mysql数据库

来自分类Dev

无法在ubuntu中使用jsp连接到数据库

来自分类Dev

无法使用mysqli连接到phpMyAdmin数据库

来自分类Dev

无法使用Cron作业连接到MySQL数据库

来自分类Dev

无法使用终端连接登录mysql数据库

来自分类Dev

无法使用Power Query连接到Oracle数据库

来自分类Dev

使用MySQLWorkbench无法连接到(远程)MySQL数据库

来自分类Dev

无法使用JDBC连接到远程Oracle数据库

来自分类Dev

无法使用pdo连接到php数据库

来自分类Dev

无法使用 sqlsrv_connect() 连接到数据库