2009-11-08 25 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