Tengo un CodeIgniter y alguna base de datos Mysql. Pero sé que quiero establecer otra base de datos para trabajar, y después de algunas acciones deshabilitarla. Por ejemplo, tengo la función make_some_actions_with_db(), y ahora tengo que tener algo así:¿Cómo cargar otra base de datos usando CodeIgniter?
public function action()
{
//load db
make_some_actions_with_db();
//disable db
}
lo tanto, ahora tengo que saber cómo puedo establecer la nueva db defecto y cómo puedo fijar otra (primera) db. Gracias.
Actualizado: no funciona:
public function update_record_insert_test()
{
if ($this->facebook->getUser())
{
$another_db_settings['hostname'] = 'localhost';
$another_db_settings['username'] = 'root';
$another_db_settings['password'] = '';
$another_db_settings['database'] = 'name';
$another_db_settings['dbdriver'] = "mysql";
$another_db_settings['dbprefix'] = "";
$another_db_settings['pconnect'] = TRUE;
$another_db_settings['db_debug'] = TRUE;
$another_db_settings['cache_on'] = FALSE;
$another_db_settings['cachedir'] = "";
$another_db_settings['char_set'] = "utf8";
$another_db_settings['dbcollat'] = "utf8_general_ci";
$this->load->database($another_db_settings);
$_POST['id']='AccountPagesView.a_book/1000';
$_POST['value']='test';
$_POST['old_value']='not';
$welcome=new Welcome();
$welcome->update_record();
}
else
{
$url=$this->facebook->getLoginUrl(array('next' => base_url().'update_record_insert_test'));
redirect($url);
}
}
Ahora hago todas las solicitudes usando $ this-> db-> get (.. .), y no puedo cambiar este código, pero hay el mismo DB con las mismas tablas, necesito cambiar el DB predeterminado este este. ¿Cómo puedo hacerlo? Por ejemplo, ahora tengo la base de datos "db1" y la segunda es "db1_copy" - Necesito que todas las solicitudes similares $ this-> db -> ... se ejecuten con "db1_copy". – user1477886
Si puede cambiar la configuración, cambie los detalles para el grupo 'predeterminado' a los detalles de 'db1_copy'. ¿Eso debería funcionar? – cchana
No. Acabo de probar y no funciona. – user1477886