其SQL语句如下:
CREATE DATABASE /*!32312 IF NOT EXISTS*/`test` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `test`;
/*Table structure for table `t_news` */
DROP TABLE IF EXISTS `t_news`;
CREATE TABLE `t_news` (
`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '新闻ID',
`title` CHAR(255) NOT NULL COMMENT '新闻标题',
`sub_title` VARCHAR(500) DEFAULT NULL COMMENT '新闻副标题',
`content` TEXT COMMENT '新闻内容',
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
`hits` INT(11) DEFAULT NULL COMMENT '点击率',
`author` CHAR(50) DEFAULT NULL COMMENT '作者',
`source` CHAR(255) DEFAULT NULL COMMENT '信息来源',
PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC COMMENT='新闻表';
test_other数据库中有一个t_sys_user(系统管理员表);
其SQL语句如下:
CREATE DATABASE /*!32312 IF NOT EXISTS*/`test_other` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `test_other`;
/*Table structure for table `t_sys_user` */
DROP TABLE IF EXISTS `t_sys_user`;
CREATE TABLE `t_sys_user` (
`id` INT(11) NOT NULL COMMENT '管理员ID',
`role_id` INT(11) NOT NULL COMMENT '角色ID',
`login_name` VARCHAR(50) NOT NULL COMMENT '用户名称',
`password` VARCHAR(255) NOT NULL COMMENT '密码',
`is_admin` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '是否为管理员(0:否 1:是)',
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
`last_login` DATETIME DEFAULT NULL COMMENT '上次登录时间',
`login_num` INT(11) DEFAULT '0' COMMENT '登录次数',
`last_ip` CHAR(15) DEFAULT NULL COMMENT '上次登录IP',
`status` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '登录状态(0:未登录 1:已登录)',
`is_locked` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '是否被锁定(0:否 1:是 注:锁定时不允许登录)',
PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC COMMENT='系统管理员表';
load->database('group_one',TRUE);
//$DB2 = $this->load->database('group_two',TRUE);
//注意:confing/database.php中的$db[xxxx]['pconnect'] = FALSE
$db1 = $this->load->database('default',TRUE);//注意第一个参数:值与配置文件中的第一个索引对应
$db2 = $this->load->database('additional', TRUE);//注意第一个参数:值与配置文件中的第一个索引对应
//下面开始进行操作
//首先,在第一个数据库test的t_news表中插入数据
$data1 = array(
'title' => '测试在CI框架中同时操作多个数据库',
'sub_title' => 'CI框架允许使用多个数据库进行操作。具体的内容请查看CI手册......',
'content' => '如果你需要同时连接多于一个的数据库,你可以用以下方式来实现:$DB1 = $this->load->database(\'group_one\', TRUE);$DB2 = $this->load->database(\'group_two\', TRUE);注意:改变 "group_one" 和 "group_two" 为你指定了连接属性的组名 (或者通过上边说过的连接数组的数组名)。',
'create_time' => date('Y-m-d H:i:s'),
'author' => 'Longde',
'source' => '原创'
);
//插入之前先判断是否已存在
$db1->select('id');
$id1 = $db1->get_where('t_news',array('title' => $data1['title']))->result_array();
if(empty($id1))
{
//插入数据
$db1->insert('t_news',$data1);
//获取刚才插入数据时生成的ID值
$id1 = $db1->insert_id();
}
else
{
$id1 = $id1[0]['id'];
}
//从数据库中读取数据
$result1 = $db1->get_where('t_news',array('id' => $id1))->result_array();
//格式化输出刚才的读取结果
echo "";
print_r($result1);
//其次,在第二个数据库test_other的t_sys_user表中插入数据
$data2 = array(
'role_id' => 1,
'login_name' => 'admin',
'password' => md5('admin'),
'is_admin' => 1,
'create_time' => date('Y-m-d H:i:s'),
'status' => 0,
'is_locked' => 0
);
//插入之前先判断是否已存在
$db2->select('id');
$id2 = $db2->get_where('t_sys_user',array('login_name' => $data2['login_name']))->result_array();
if(empty($id2))
{
//插入数据
$db2->insert('t_sys_user',$data2);
//获取刚才插入数据时生成的ID值
$id2 = $db2->insert_id();
}
else
{
$id2 = $id2[0]['id'];
}
//从数据库中读取刚才插入的数据
$result2 = $db2->get_where('t_sys_user',array('id' => $id2))->result_array();
//格式化输出刚才的读取结果
echo "";
print_r($result2);
}
// ------------------------------------------------------------------------
}
/* End of file dbc.php */
/* Location: ./application/controllers/dbc.php */
原文链接:http://codeigniter.org.cn/forums/thread-13287-1-1.html