Php 致命错误:对非对象expressionengine调用成员函数query()

Php 致命错误:对非对象expressionengine调用成员函数query(),php,mysql,expressionengine,Php,Mysql,Expressionengine,我不知道为什么会发生这个错误,它出现在所有的expressionengine教程和论坛上,但出于某种原因,我仍然能理解它?第43行显示在脚本中 class upload_pictures { public function upload_pictures() { if (!isset($whats_gonna_happen)) { $uploads=''; $cout=1; i

我不知道为什么会发生这个错误,它出现在所有的expressionengine教程和论坛上,但出于某种原因,我仍然能理解它?第43行显示在脚本中

class upload_pictures
{
    public function upload_pictures()
    {
        if (!isset($whats_gonna_happen))
        {
            $uploads='';
            $cout=1;
            if (!table_exists('albums'))
            {
                                    //line 43 below
                $this->EE->db->query("CREATE TABLE albums(
                    id INT NOT NULL AUTO_INCREMENT,
                    PRIMARY KEY(id)
                    name VARCHAR(50)
                ") or die(mysql_error());
            }
            $stuff=$this->EE->db->query('SELECT id, name FROM albums');

我发现问题出在expressionengine你需要有线路

$this->EE=&get_instance()


在构造函数中访问超全局变量。

请参阅相关<代码>$this->EE->db
null
。我会检查它是从哪里安装的。是的,$this->EE是在哪里创建的?它甚至没有被定义为这个类的属性。您确定您看到的示例没有在其他类中使用此方法吗?$this关键字始终引用代码所在的当前类,因此此方法调用将仅在具有属性$EE的类内工作,该属性包含一个对象,而该属性又在其$db属性中包含另一个对象,然后该对象将需要一个名为query()的方法。