2013-10-17 84 views
0

我正在重寫我的應用程序以使用CodeIgniter。目前我正在努力與數據庫。我在config/databases.php中配置了數據庫,但不知道如何在以傳統的非MVC方式加載的腳本中訪問它們。

在視圖login.php我有:如何訪問包含的PHP腳本中的db配置?

require_once("application/views/pages/include/membersite_config.php"); 

if(isset($_POST['submitted'])) 
{ 
    if($fgmembersite->Login()) 
    { 
     $fgmembersite->RedirectToURL("main"); 
    } 
} 

在需要membersite_config.php

require_once("fg_membersite.php"); 

fg_membersiteLogin()導致DBLogin()它是:

function DBLogin() 
{ 
    $this->connection = pg_connect("host=localhost port=5432 dbname=".$this->db->database." user=".$this->db->username." password=".$this->db->password.""); 

我接收錯誤: Undefined property: FGMembersite::$dbMessage: Trying to get property of non-object

回答

0

Codeigniter是一個MVC框架,所以恐怕你必須遵循這種模式。 最好的辦法是重寫你的函數,以便你可以在模型中使用它。

當然你可以繞過它,但是當你重寫你的應用程序時,你最好這樣做。

+0

我擔心這是不可避免的。所以我重寫了我的應用程序,並將'fg_membersite.php'移到了庫中,但仍然無法從那裏訪問數據庫。我已經創建了一個新的[topic](http://stackoverflow.com/questions/19429986/how-to-access-database-in-library-class)。 –

0

通過看你的代碼,它很可能是你在這段代碼調用變量有另一個名稱/位置(糾正我,如果我錯了):

function DBLogin() 
{ 
    $this->connection = pg_connect("host=localhost port=5432 dbname=".$this->db->database." user=".$this->db->username." password=".$this->db->password.""); 

也許不是撥打$this->db->database您需要撥打$this->db['database']或其他東西。如果您提供該類的其他源代碼,我們可能會進一步幫助您。

相關問題