【问题标题】:Codeigniter remote connection does not return queriesCodeigniter 远程连接不返回查询
【发布时间】:2012-08-01 15:10:36
【问题描述】:

我的 mysql 数据库有本地和远程连接。本地连接工作得很好。但是远程连接,虽然它建立连接,但它不返回任何东西。我通常会得到以下信息:

致命错误:在非对象上调用成员函数 result()

我使用以下配置进行远程连接:



    $db['mydb']['hostname'] = "ip_address_of_database";
    $db['mydb']['username'] = "username";
    $db['mydb']['password'] = "password";
    $db['mydb']['database'] = "database";
    $db['mydb']['dbdriver'] = "mysql";
    $db['mydb']['dbprefix'] = "";
    $db['mydb']['pconnect'] = FALSE;
    $db['mydb']['db_debug'] = FALSE;
    $db['mydb']['cache_on'] = FALSE;
    $db['mydb']['cachedir'] = "";
    $db['mydb']['char_set'] = "utf8";
    $db['mydb']['dbcollat'] = "utf8_general_ci";

在访问数据库的函数中,我检查是否与远程服务器建立连接,然后尝试检索数据。



    $mydb = $this->load->database('mydb', TRUE);
    if (!isset($mydb->conn_id) && !is_resource($mydb->conn_id)) {
        $error = 'database is not connected';
        return $error;
    }else{
        $query = $mydb->query("SELECT * FROM database LIMIT 1;"); 
        return $query->result();            
         }

这在 localhost 数据库中可以正常工作,但在远程数据库中则不行。我总是得到错误 致命错误:在非对象上调用成员函数 result()

你能帮忙吗?我究竟做错了什么?我坚持这个。

【问题讨论】:

    标签: mysql database codeigniter remote-connection


    【解决方案1】:

    最后,我在联系了我的网络托管服务提供商后找到了解决方案。该问题与远程数据库访问及其服务器有关。我添加的 IP 地址异常和域名不起作用。我必须添加我的主机正在使用的内部域名才能允许远程数据库访问。为了找到解决方案,我花了 2-3 个小时与他们聊天。 反正现在解决了。我发布这个仅供参考。

    【讨论】:

      猜你喜欢
      • 2013-08-15
      • 1970-01-01
      • 1970-01-01
      • 2018-08-07
      • 1970-01-01
      • 2017-01-01
      • 1970-01-01
      • 2018-03-15
      • 1970-01-01
      相关资源
      最近更新 更多