2013-06-05 30 views
-1

我正在開發一個使用PostgreSQL的CodeIgniter中的代理端口應用程序,它使用來自單個數據庫的多個模式。我設計的設置工作正常。帶有PostgreSQL多模式問題的CodeIgniter

所以我面對現在的問題是,當一些時間間隔之後開始顯示在不同的頁面下面的錯誤,如:

Fatal error: Call to a member function result() on a non-object in D:\xampp\htdocs\mangonet\application\modules\settings\models\adminmodel.php on line 30

Fatal error: Call to a member function num_rows() on a non-object in D:\xampp\htdocs\mangonet\application\modules\users\models\adminmodel.php on line 56

Fatal error: Call to a member function row() on a non-object in D:\xampp\htdocs\mangonet\application\modules\users\models\adminmodel.php on line 86

讓我舉一個例子

我試着只有在一直存在的情況下才能找出特定的問題。但是,當我刷新我的網頁或從功能

function get_item_by_id($table, $id) 
{ 
    return $this->db->get_where($table, array('id' => $id))->row(); 
} 

它返回一個黑色的結果,當我將其重新添加,問題消失了刪除行(),並開始正常工作。 我知道上面的致命錯誤,你可以看到上面的解決方案是可用的。但是我的問題有點複雜。

回答

1

這聽起來像是數據庫連接消失的問題。我會建議在應用程序方面調試。特別是我會開始記錄以下內容:

  1. 所有問題調用的數據庫連接狀態。換句話說,檢查數據庫連接是否已關閉或失敗。

  2. 如果數據庫連接沒有失敗,那麼接下來要檢查的是搜索路徑是什麼。您可以執行以下查詢來測試它:

    SHOW search_path; 
    

這是可能的,如果這是涉及到多個模式,東西與搞亂。