CI 묻고 답하기

제목 다중디비오류
글쓴이 영등포 작성시각 2013/03/09 19:05:42
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 15262   RSS


다중디비 연결하는데
Fatal error
: Call to undefined function instantiate_class() in /home/a555/public_html/Admin/A/A_KMS1/system/database/DB.php on line 133

게속 에러가 나네요..ㅠㅠ 게속 경로 맟춰도 안돼고..ㅠㅠ
왜그런걸가요ㅗ

database.php
에서


$active_group = 'db1';
$active_record = TRUE;

$db['db1']['hostname'] = '121.12.78.215';
$db['db1']['username'] = 'test';
$db['db1']['password'] = 'test&*&*';
$db['db1']['database'] = 'A_test';
$db['db1']['dbdriver'] = 'mysql';
$db['db1']['dbprefix'] = '';
$db['db1']['pconnect'] = FALSE;
$db['db1']['db_debug'] = TRUE;
$db['db1']['cache_on'] = FALSE;
$db['db1']['cachedir'] = '';
$db['db1']['char_set'] = 'utf8';
$db['db1']['dbcollat'] = 'utf8_general_ci';
$db['db1']['swap_pre'] = '';
$db['db1']['autoinit'] = TRUE;
$db['db1']['stricton'] = FALSE;


$db['db2']['hostname'] = '222.239.76.96';
$db['db2']['username'] = 'ttset2';
$db['db2']['password'] = 'addfzh';
$db['db2']['database'] = 'test2';
$db['db2']['dbdriver'] = 'mysql';
$db['db2']['dbprefix'] = '';
$db['db2']['pconnect'] = FALSE;
$db['db2']['db_debug'] = TRUE;
$db['db2']['cache_on'] = FALSE;
$db['db2']['cachedir'] = '';
$db['db2']['char_set'] = 'utf8';
$db['db2']['dbcollat'] = 'utf8_general_ci';
$db['db2']['swap_pre'] = '';
$db['db2']['autoinit'] = TRUE;


그리고
 

class Test extends CI_Controller {
var $DB1 = NULL;
public function __construct()
{
parent::__construct();
// 생성자 코드에 기능추가
$this->load->library('form_validation');

}


function test1()
{


$this->DB1 = $this->load->database($config, TRUE);

}

 

}

 다음글 헉..이런스팸이.. (2)
 이전글 모델에서 팝업닫기 (1)

댓글

변종원(웅파) / 2013/03/09 20:37:46 / 추천 0
$config 값은 어디서 올까요?
영등포 / 2013/03/09 20:52:31 / 추천 0

질문올리다가 짤렷내요
원래는
$this->DB2 = $this->load->database(db1, TRUE);
$query = $this->DB2->query(" SELECT * FROM Member");
이렇게 올리다 에러나서
function test1()
{
  $config['hostname'] = "518.3.10.901";
  $config['username'] = "'tset2";
  $config['password'] = "hdghd";
  $config['database'] = "dhdghdgh";
  $config['dbdriver'] = "mysql";
  $config['pconnect'] = FALSE;
  $config['db_debug'] = TRUE;
  $config['cache_on'] = FALSE;
  $config['char_set'] = "euckr";
  $config['dbcollat'] = "euckr";
  $this->DB2 = $this->load->database($config, TRUE);

}
  $this->test1();
  $this->DB2->select('*');
  $this->DB2->from('Member');
  $this->DB2->where('id', $id);

이렇게 햇다가 짤려서 질문올라갓네요.ㅠㅠ
저에러는 왜나는걸가욧?

변종원(웅파) / 2013/03/09 23:13:16 / 추천 0
 codeigniter 버전이 어떻게 되시는지요? 2.1.3에는 그런 함수 없습니다.
박순철 / 2013/03/11 12:12:20 / 추천 0
먼저 외부에서 지정하신 디비에 접속이 가능한지 확인 하시구요.



database.php 에서  디비 지정 하시고



컨트롤러에서 

$localItemNumber = 777
$testrow = $this->market_model->db2($localItemNumber);


모델에서

public function db2($localItemNumber)
{
 $this->test2 = $this->load->database('test2',TRUE);
$this->test2>select('amount); $this->test2>where('number',$localItemNumber); $query = $this->test2->get('testTable'); if ($query->num_rows() > 0) { return $query->row_array(); } else { show_error('Remote Database is Error!'); } }


이런식으로 함 해보세요~~