-1

我正在使用来自单个数据库的多个模式在 CodeIgniter 中使用 PostgreSQL 开发代理端口应用程序。我设计的设置工作正常。

所以我现在面临的问题是,经过一段时间后,它开始在不同的页面上显示以下错误,例如:

致命错误:在第 30 行对 D:\xampp\htdocs\mangonet\application\modules\settings\models\adminmodel.php 中的非对象调用成员函数 result()

致命错误:在第 56 行对 D:\xampp\htdocs\mangonet\application\modules\users\models\adminmodel.php 中的非对象调用成员函数 num_rows()

致命错误:在第 86 行对 D:\xampp\htdocs\mangonet\application\modules\users\models\adminmodel.php 中的非对象调用成员函数 row()

让我举一个例子

只有当它始终存在时,我才会尝试找出特定问题。但是当我刷新我的页面或从函数中删除该 row()

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

它返回黑色结果,当我将其添加回来时,问题消失了,它开始正常工作。我知道您可以看到上述致命错误上述解决方案可用。但我的问题有点复杂。

4

1 回答 1

1

这听起来像是数据库连接消失的问题。我建议在应用程序端查看调试。特别是我会开始记录以下内容:

  1. 所有有问题的调用的数据库连接状态。换句话说,检查并查看数据库连接是否已关闭或失败。

  2. 如果数据库连接没有失败,那么接下来要检查的是搜索路径是什么。您可以执行以下查询来测试它:

    SHOW search_path;
    

如果这与多个模式有关,则可能会出现问题。

于 2013-09-19T03:12:48.657 回答