我的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();
}这在本地主机数据库中工作得很好,但在远程数据库中就不行了。我总是得到这样的错误:调用非对象上的成员函数result()
你能帮帮忙吗?我做错了什么?我坚持这样做。
发布于 2012-09-03 16:51:58
最后,我在联系我的虚拟主机提供商后找到了解决方案。这个问题与远程数据库访问和它们的服务器有关。IP地址异常和我添加的域名不起作用。我必须添加我的主机正在使用的内部域名,以便允许远程数据库访问。我花了2-3个小时和他们聊天,以便找到解决方案。不管怎样,现在已经解决了。我发布了这篇文章供大家参考。
https://stackoverflow.com/questions/11762214
复制相似问题