我是新的在电离CMS世界,我需要你的帮助。是否有可能使模块与第二个数据库一起工作?其理念是创建两种类型的网站:
一种是作为数据库管理(带有自己的数据库db1),在其中添加/修改和删除内容。本网站的数据库将为第二类网站提供内容
第二种类型(有自己的数据库db2)将显示第一个网站db1的数据库中的内容(基于特定配置,这无关紧要)。对于这个网站,我想制作一个模块,主要目的是从db1获取数据
根据文档,我了解了如何访问父数据库(cms database db2)模块,但现在不使用其他数据库(例如db1)中的表。
此类网站将安装在相同或不同的主机上。
任何帮助都将不胜感激

最佳答案

由于I离子化是一个基于编码点火器的CMS,您可以使用更多的数据库连接。
若要在第二类网站上执行所需操作,应在\application\config\database.php中定义数据库配置。
示例配置:

$db['db1']['hostname'] = '';
$db['db1']['username'] = '';
$db['db1']['password'] = '';
$db['db1']['database'] = '';
$db['db1']['dbdriver'] = 'mysqli';
$db['db1']['dbprefix'] = '';
$db['db1']['swap_pre'] = '';
$db['db1']['pconnect'] = FALSE;
$db['db1']['db_debug'] = FALSE;
$db['db1']['cache_on'] = FALSE;
$db['db1']['cachedir'] = '';
$db['db1']['char_set'] = 'utf8';
$db['db1']['dbcollat'] = 'utf8_unicode_ci';

$db['db2']['hostname'] = '';
$db['db2']['username'] = '';
$db['db2']['password'] = '';
$db['db2']['database'] = '';
$db['db2']['dbdriver'] = 'mysqli';
$db['db2']['dbprefix'] = '';
$db['db2']['swap_pre'] = '';
$db['db2']['pconnect'] = FALSE;
$db['db2']['db_debug'] = FALSE;
$db['db2']['cache_on'] = FALSE;
$db['db2']['cachedir'] = '';
$db['db2']['char_set'] = 'utf8';
$db['db2']['dbcollat'] = 'utf8_unicode_ci';

其中db1将是idiolem使用的默认数据库,而db2将是网站类型1中的数据库。
在此之后,您可以使用以下方法在db2上进行查询:
$this->remote_db = $this->load->database('db2', TRUE);
$query = $this->remote_db ->get('table_from_website_1');

使用此方法时,不要使用持久连接(['pconnect'] = FALSE;
对我来说,这个配置很有魅力

关于database - 电离CMS-具有第二个数据库的模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31068070/

10-11 02:43
查看更多