mysql - 如何在 codeigniter 中将数据插入其他数据库

标签 mysql database codeigniter

我有一个需求,我需要将数据插入到不同数据库的两个表中..

$insert_query = 'INSERT INTO table1 (col1, col2) values(1, 2)';
$insert_otherdb_query= 'INSERT INTO otherdb.table1 (col1, col2) values(1, 2)';
$this->db->query($insert_query); //works fine
$this->db->query($insert_otherdb_query); //doesn't work

错误

Table 'mydb.otherdb.table1' doesn't exist

它不会忽略我的默认数据库 mydb...
有什么建议吗?

最佳答案

您必须定义第二组数据库参数。 CI 并不是为了真正拥有两个数据库连接而开发的,它更多的是用于交换测试和生产数据库。那就是说周围有一些技巧。所以首先像这样定义第二组数据库信息:

/* FORUM */
$active_group = "forum";
$active_record = TRUE;

$db['forum']['hostname'] = "xxxxx";
$db['forum']['username'] = "xxxxx";
$db['forum']['password'] = "xxxxx";
$db['forum']['database'] = "xxxxx";
$db['forum']['dbdriver'] = "mysql";
$db['forum']['dbprefix'] = "";
$db['forum']['pconnect'] = TRUE;
$db['forum']['db_debug'] = TRUE;
$db['forum']['cache_on'] = FALSE;
$db['forum']['cachedir'] = "";
$db['forum']['char_set'] = "utf8";
$db['forum']['dbcollat'] = "utf8_general_ci";

/* TEST SITE */
$active_group = "default";
$active_record = TRUE;

$db['default']['hostname'] = "xxxxx";
$db['default']['username'] = "xxxxx";
$db['default']['password'] = "xxxxx";
$db['default']['database'] = "xxxxx";
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci"; 

您的事件数据库将是您最后定义的数据库。

完成此操作后,您可以手动连接到第二个(如果您始终需要,也可以将其放在 MY_Controller 中)。然后你可以像这样加载你的第二个数据库:

$this->other_db= $this->CI->load->database('forum', TRUE); 

使用 $this->db 访问数据库 1,使用 $this->other_db(或任何您调用的名称)访问数据库 2。

谢谢

关于mysql - 如何在 codeigniter 中将数据插入其他数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18041239/

相关文章:

Mysql根据当前月份的前一个季度月份选择行

javascript - 如果在 codeigniter 中使用 ajax 成功更新,则发出警报

php - 我如何将表与第二个表的最新记录连接起来

php - 如何在不刷新页面的情况下更新 HTML data-* 属性

php - 使用 php 创建 html 表

mysql - 使用 MySQL 查询将二分图数据转换为单模式?

mysql - 使用 mysql 事件调度程序和 php

database - 使用存储过程模拟 postgresql

mysql - 我如何将这组数据组织到mysql数据库中?

php - 使用表单循环遍历数组时出现问题