连接到 codeigniter 中的另一个数据库并插入

Posted

技术标签:

【中文标题】连接到 codeigniter 中的另一个数据库并插入【英文标题】:connect to another db in codeigniter and insert 【发布时间】:2018-02-28 02:31:45 【问题描述】:

我正在尝试连接到另一个数据库并插入数据,数据正确插入到第一个数据库中但没有插入到第二个数据库中,两个表中的所有字段都相同,下面的代码没有插入latestdb,下面是我的模型代码,我很确定控制器和视图都很好,如果需要更多详细信息,请告诉我。我正在使用codeigniter 2。问题出在评论之后 // Insert in pr_users

$this->db->$function($this->myTables['users'], $data);
				$db1['latestdb']['hostname'] = 'localhost';
				$db1['latestdb']['username'] = 'root';
				$db1['latestdb']['password'] = 'passw';
				$db1['latestdb']['database'] = 'latestdb';
				$db1['latestdb']['dbdriver'] = 'mysql';
				$db1['latestdb']['dbprefix'] = '';
				$db1['latestdb']['pconnect'] = TRUE;
				$db1['latestdb']['db_debug'] = TRUE;
				$db1['latestdb']['cache_on'] = FALSE;
				$db1['latestdb']['cachedir'] = '';
				$db1['latestdb']['char_set'] = 'utf8';
				$db1['latestdb']['dbcollat'] = 'utf8_general_ci';
				$db1['latestdb']['swap_pre'] = '';
				$db1['latestdb']['autoinit'] = TRUE;
				$db1['latestdb']['stricton'] = FALSE;
			
			
				$DB2 = $this->load->database($db1, TRUE);
				$DB2->db_select('zipbizzlatestdb');
				$DB2->$function($this->myTables['users'], $data);

				$DB2->insert('pr_users',$data);

我收到错误消息:

遇到错误

您尚未选择要连接的数据库类型。

【问题讨论】:

查看https://***.com/questions/8268853/codeigniter-multiple-database-connections 【参考方案1】:

修改

$DB2 = $this->load->database($db1);

// TRUE parameter tells CI that you'd like to return the database object.
$DB2 = $this->load->database($db1, TRUE);

另请注意

如果您只需要创建单独的数据库配置 需要在同一连接上使用不同的数据库。你可以 需要时切换到不同的数据库,如下所示:

$this->db->db_select('database2_name');

$this->$DB2->your_function( ... )

 ^
  Does not have any such property

$DB2->your_function( .. )

【讨论】:

不工作,有问题,数据库配置已经有了配置 @sunshine,还有一个问题$DB2->your_function( .. )是正确的,不是$this->$DB2->your_function( ... ) 请查看更新后的问题,我现在遇到错误您尚未选择要连接的数据库类型,但我已经提到要连接的数据库驱动程序 @sunshine: 你已经加载了数据库配置,那么不需要$DB2->db_select('zipbizzlatestdb');,如果你将db驱动程序mysql更改为mysqli【参考方案2】:

在你的中试试这个 模态

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Test extends CI_Model 

  function __construct()
  
    parent::__construct();
    $this->another = $this->load->database("anotherdb",true);
   

  function get()
  
    $this->another->select("*");
    $this->another->from("admin");
    $query = $this->another->get();
    return $query->result();
   

?>

【讨论】:

以上是关于连接到 codeigniter 中的另一个数据库并插入的主要内容,如果未能解决你的问题,请参考以下文章

无法连接到数据库 codeIgniter

如何使用 codeigniter 连接到不同服务器中的数据库

使用 codeigniter 将连接表中的列连接到另一列

如何连接到 Laravel 中的另一个数据库(多个数据库 HUNDREDS)[重复]

CodeIgniter 3.1.10:无法通过 DSN 使用 ODBC 连接到远程数据库

php codeigniter网站显示未连接到safari ios手机中的服务器