PHP PDO:“不在对象上下文[…]中使用$this”

PHP PDO:“不在对象上下文[…]中使用$this”,php,Php,我在使用下面的php代码时收到以下错误: [错误]70960:*410 FastCGI发送到stderr:PHP消息:PHP致命 错误:在中不在对象上下文中时使用$this /var/www/html_offline/core.php在第60行读取响应时 来自上游的标头,客户端:[……] 我已经试图解决这个问题,但找不到解决方案 <?php class CORE { private $db_sqlite; private $db_mysql; function

我在使用下面的php代码时收到以下错误:

[错误]70960:*410 FastCGI发送到stderr:PHP消息:PHP致命 错误:在中不在对象上下文中时使用$this /var/www/html_offline/core.php在第60行读取响应时 来自上游的标头,客户端:[……]

我已经试图解决这个问题,但找不到解决方案

<?php

class CORE {

    private $db_sqlite;
    private $db_mysql;

    function __construct(){
        $this->db_mysql = $this->get_MySQL();
        $this->db_sqlite = $this->get_SQLite();
    }

    //
    //  MYSQL ADAPTER
    //
    function get_MySQL($db = null) {
        if ($db == null) {
            try {
                $db = new PDO("mysql:host=ip_address:port;dbname=database;charset=utf8","user","password", array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
            } catch(PDOException $ex) {
                return $db;
            }
        }
        return $db;
    }

    //
    //  SQLITE ADAPTER
    //
    function get_SQLite($db = null) {
        if ($db == null) {
            try {
                $db = new PDO("sqlite://var/www/html_offline/ip_throttling.db", null, null, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
                $db->query("CREATE TABLE IF NOT EXISTS storage (IP VARCHAR(255), TIME VARCHAR(255), ID VARCHAR(255))");
            } catch(PDOException $ex) {
                return $db;
            }
        }
        return $db;
    }

    //
    //  IP QUERY RESTRICTION
    //
    function isThrottled($ip, $id) {
        //  SELECT stmt
        $stmt = $this->db_sqlite->prepare('SELECT TIME FROM storage WHERE IP = :ip AND ID = :id');
        $bind = array(
            ':ip' => $ip,
            ':id' => $id
        );
        $stmt->execute($bind);
        if ($stmt->rowCount() > 0) {
            $fetch = $stmt->fetch(PDO::FETCH_ASSOC);
            if ($fetch['time'] <= strtotime('-30 seconds')) {
                return true;
            }
            //  DELETE stmt
            $stmt = $this->db_sqlite->prepare('DELETE FROM storage WHERE IP = :ip AND ID = :id');
            $stmt->execute($bind);
            return false;
        } else {
            return false;
        }
    }

?>

如何调用类函数?第60行在哪里?@DobeLee第60行位于$stmt=$this->db_sqlite->prepare'SELECT TIME FROM storage where IP=:IP AND ID=:ID';在脚本中,您是否理解使用::意味着不创建类核心的实例?