2009-11-08 30 views
0

任何人都可以帮助我解决这个问题吗?无法在PHP MVC框架中实例化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; 
    } 

感谢,理查德

回答

1

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

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

但是PHP的你正在使用的构建可以有它禁用。自动加载不会影响PDO类是否被找到。

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

+0

谢谢,它是在我的脑海后面检查出来,但我认为情况并非如此。因为它是标准安装的一部分。原来digitalibiz没有安装它。你可能知道他们有没有安装它的考虑? – Richard 2009-11-08 23:25:29

+0

他们绝对没有理由不这样做。不过,你可能想问一下他们的推理。如果他们没有很好的理由,我不会信任他们用我的PHP安装;)。 – Tres 2009-11-08 23:46:11

+0

我已经提交了一张票,并告诉他们我想用apache服务器将我的域移动到其他主机。我已经感到沮丧,他们没有安装isapirewrite。至少,那么我不会遇到那些具体问题。 – Richard 2009-11-09 00:10:36

1

是扩展PDO类的内部的功能?如果不是,你可以尝试在扩展PDO的类中使用该函数,而不是使用关键字调用函数parent