Codeigniter удаленное соединение не возвращает запросы
У меня есть локальное и удаленное соединение с моей базой данных 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() для необъекта.
Можете ли вы помочь? Что я делаю неправильно? Я застрял на этом.
1 ответ
Наконец, я нашел решение после обращения к моему провайдеру веб-хостинга. Проблема была связана с удаленным доступом к базе данных и их серверами. Исключение IP-адреса и доменное имя, которое я добавил, не сделали работу. Мне пришлось добавить внутреннее доменное имя, которое использовал мой хост, чтобы разрешить удаленный доступ к базе данных. Я провел 2-3 часа в чате с ними, чтобы найти решение. Во всяком случае сейчас решено. Я публикую это к сведению.