代码之家  ›  专栏  ›  技术社区  ›  sunshine

连接到codeigniter中的另一个db并插入

  •  1
  • sunshine  · 技术社区  · 7 年前

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

    $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);

    我在说:

    2 回复  |  直到 7 年前
        1
  •  1
  •   Akshay Hegde    7 年前

    修改

    $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( .. )
    
        2
  •  0
  •   Jawahar Sharma    7 年前

    <?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();
      } 
    }
    ?>