ОК, поэтому вам потребуются различные конфигурации базы данных для вашей «административной» базы данных и для ваших «клиентских» баз данных.
Используйте примеры с этой страницы для генерации этих отдельных конфигов:
http://ellislab.com/codeigniter/user_guide/database/configuration.html
Затем, в вашем главном контроллере (скажите, пожалуйста, что вы расширяете MY_Controller.php , а не просто используете CI_Controller.php), вы захотите прочитать вашу базу данных 'admin' и получить всю информацию о клиенте , Затем вы захотите сгенерировать массив $config
для этой клиентской базы данных и перезагрузить базу данных с новым массивом $config
:
// in MY_Controller constructor
// do your thing here to connect to the admin database and get client details
// ...
//
$config['hostname'] = "localhost";
$config['username'] = $client_db_username; // you got this from the 'admin' database
$config['password'] = $client_db_password; // you got this from the 'admin' database
$config['database'] = $client_db_name; // you got this from the 'admin' database
$config['dbdriver'] = "mysql";
$config['dbprefix'] = "";
$config['pconnect'] = FALSE;
$config['db_debug'] = TRUE;
$config['cache_on'] = FALSE;
$config['cachedir'] = "";
$config['char_set'] = "utf8";
$config['dbcollat'] = "utf8_general_ci";
$this->load->database($config);
После этого у вас будет соединение с клиентской базой данных.
Примечание
Если вам необходимо подключиться к обеим базам данных, то вы можете подключиться к нескольким базам данных, как описано на этой странице: http://ellislab.com/codeigniter/user_guide/database/connecting.html