1

错误:

致命错误:Swiftlet\App::autoload(): 在 / hermes/waloraweb009/b1166/htdocs/jim/ss test/Swiftlet/App.php 在第 223 行

我是 MVC 的新手,正在尝试 Swiftlet。我正在尝试设置一个 MYSQL 数据库模型。

我已将错误确定为:

class Database extends \Swiftlet\Model {
    public $mysqli;

    public function __construct(App $app) {
        $this->mysqli = new mysqli($this->app->getConfig('dbHost'),
                                   $this->app->getConfig('dbUser'),
                                   $this->app->getConfig('dbPassword'),
                                   $this->app->getConfig('dbName'));
    }
}

但我不知道为什么。为什么它会尝试加载mysqli

4

1 回答 1

1

似乎问题在于您可能在\Swiftlet命名空间中。当试图从这个命名空间中实例化 mysqli (全局命名空间中的一个项目)时,它试图在它通常看起来自动加载它的命名空间中的类的地方自动加载。该类不存在,因此您会收到自动加载错误。

尝试像这样更改您的 mysqli 实例化:

$this->mysqli = new \mysqli($this->app->getConfig('dbHost'), $this->app->getConfig('dbUser'), $this->app->getConfig('dbPassword'), $this->app->getConfig('dbName'));

请注意,myslqi现在以\引用全局命名空间中的 mysql 类为前缀。

于 2012-08-29T21:10:52.923 回答