无法在PHP MVC框架中实例化PDO对象

时间:2009-11-08 22:55:57

标签: php model-view-controller pdo

任何人都可以帮我吗?

我在单例类中有这个功能。它给我的错误是它找不到类。

首先我认为它与自动加载器有关,但我做了spl_autoload_unregister('libloader'),它仍然会出现同样的错误?

主机正在运行php 5.

public static function getInstantie()
    {
        if (!self::$instantie)
        {
            $config = config::getInstantie();
            $db_type = $config->config_waarden['database']['db_type'];
            $hostnaam = $config->config_waarden['database']['db_hostnaam'];
            $dbnaam = $config->config_waarden['database']['db_naam'];
            $db_wachtwoord = $config->config_waarden['database']['db_wachtwoord'];
            $db_gebruikersnaam = $config->config_waarden['database']['db_gebruikersnaam'];
            $db_poort = $config->config_waarden['database']['db_poort'];

        self::$instantie = new PDO("$db_type:host=$hostnaam;port=$db_poort;dbname=$dbnaam",$db_gebruikersnaam, $db_wachtwoord);
            self::$instantie-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        }
        return self::$instantie;
    }
谢谢,理查德

2 个答案:

答案 0 :(得分:1)

是扩展PDO的类中的函数吗?如果没有,您是否可以尝试在扩展PDO的类中创建该函数,而不是self使用关键字parent调用函数?

答案 1 :(得分:1)

默认情况下,PDO启用了一组数据库驱动程序:

http://au.php.net/manual/en/pdo.installation.php

但是您正在使用的PHP构建可能会禁用它。自动加载对于是否找到PDO类没有影响。

创建PHP信息文件并检查PDO部分是否存在。如果没有,那么你的问题很可能是因为它没有内置到你的php安装中。