У меня самое плохое время с этим после поиска часов и часов.
Мое подключение к учетным данным Amazon RDS правильное, однако я не могу получить какие-либо данные и получаю 500 ошибок из-за следующего.
Я сделал это в самом простом коде, чтобы избежать ошибок CI. На моей модели:
class Foreclosure_model extends CI_Model {
public function __construct() {
parent::__construct();
$this->db = $this->load->database('aws');
}
function get_sql_results($state,$county){
return $this->db->query("select State, County from foreclosure_properties where State = 'CA' AND County = 'del norte'");
}
}
Тогда на моем контроллере у меня есть:
$this->data['listings'] = $this->foreclosure_model->get_sql_results($state,$county);
на моей информации о соединении AWS у меня есть:
$db['aws']['hostname'] = 'XXXXXXXXXXXXX.us-west-2.rds.amazonaws.com';
$db['aws']['username'] = 'XXXXXXXX';
$db['aws']['password'] = 'XXXXXXXX';
$db['aws']['database'] = 'xxxxxx_xxxxxx';
$db['aws']['dbdriver'] = 'mysql';
$db['aws']['dbprefix'] = '';
$db['aws']['pconnect'] = TRUE;
$db['aws']['db_debug'] = TRUE;
$db['aws']['cache_on'] = FALSE;
$db['aws']['cachedir'] = '';
$db['aws']['char_set'] = 'utf8';
$db['aws']['dbcollat'] = 'utf8_general_ci';
$db['aws']['swap_pre'] = '';
$db['aws']['autoinit'] = TRUE;
$db['aws']['port'] = 3306;
Я попытался сделать то же самое соединение напрямую с Navicat, чтобы проверить соединение SQL и запрос, он работает успешно. Я не могу заставить это работать в Codeigniter.
Результат при запуске на Codeigniter — ошибка 500.
Любая помощь очень ценится.
Поскольку вы используете более одного соединения, вам нужно будет передать второй параметр ‘TRUE’, чтобы вернуть объект базы данных.
$this->db = $this->load->database('aws', TRUE);
Если вы не передадите это, то объект базы данных не будет возвращен, и поэтому вы не сможете вызвать ни одну из функций (таких как get (), query () и т. Д.).
Вы можете прочитать больше о нескольких подключениях здесь:
https://ellislab.com/codeigniter/user-guide/database/connecting.html
Надеюсь, это поможет — дайте мне знать, как вы поживаете!
Примечание: стоит упомянуть, что это может упростить ситуацию, если вместо назначения базы данных $ this-> db вы выбрали другое имя, такое как $ this-> aws_db, так как вы не перезаписываете объект $ this-> db для вашей базы данных по умолчанию. Вероятно, не большая проблема, но может помочь в устранении неполадок по мере роста вашего проекта.
Других решений пока нет …