调用非静态方法时出错

时间:2016-02-19 20:36:37

标签: php mysqli

public  function upload() {

    try {
        $database_connect = new DatabaseConnect();
        $connection = $database_connect->getConnection();

        $this->populate_database($connection); //line 43
        $connection->close();

        return true;

    } catch (Exception $exp) {
        echo $exp->getMessage();
        return false;

    }

}

private function populate_database(mysqli $connection){
    $query = "insert into bases (img_url) values ($this->image_name)";
    $result = $connection->query($query);

    if (!$result) die($connection->error);

    if (!$this->update_linked_table($connection)) {
        echo "linked table not updated";
    }
}

我正在调用私有非静态方法然后为什么我会收到此错误:

  

致命错误:   当不在第43行的/var/www/html/CocExplore/html5BoilerPlate/php/LocalImage.php中的对象上下文中时使用$this

1 个答案:

答案 0 :(得分:0)

非静态调用方法。例如,如果您致电YourClass::upload(),请将其替换为$class = new YourClass(); $class->upload();