[함수] 다중(타)디비 컨넥 이용하기 (php클래스)
<핵심포인트>
1. codeigniter는 기본적으로 지원됩니다.
http://codeigniter-kr.org/source/view/340
2. mysql_connect : TRUE인자 필수
동일한 인수로 mysql_connect()을 다시 호출하면, 새로운 link가 생성되는 것이 아니라, 이미 생성된 link 식별자 값을 돌려받게 된다. 단, new_link 로 mysql_connect()를 호출하면 동일한 인수로 mysql_connect()를 이미 호출하였다 하더라도 항상 새로운 접속을 생성한다. SQL 안전 모드에서는, 이 인수를 무시합니다.
3. mysql_query 시에 컨넥 필수
=> 빠트리면 최종적인 디비컨넥을 참조하게 됩니다.
<?
class mysql_driver {
function mysql_driver($host,$name,$pass,$db)
{
$this->hostname = $host;
$this->username = $name;
$this->password = $pass;
$this->database = $db;
}
function db_connect()
{
return @mysql_connect($this->hostname, $this->username, $this->password, TRUE);
}
function db_select()
{
return @mysql_select_db($this->database, $this->conn_id);
}
function initialize()
{
$this->conn_id = $this->db_connect();
$this->db_select();
}
function query($sql)
{
// 이부분은 필요에 의해서 사용가능
return $this->result=mysql_query($sql,$this->conn_id);
}
}
function &DB($host,$name,$pass,$db)
{
$driver = "mysql_driver";
$DB =& instantiate_class(new $driver($host,$name,$pass,$db));
$DB->initialize();
return $DB;
}
function instantiate_class($class){
return $class;
}
// 디비연결정보
$DB1 = DB('주소','아이디','패스워드','디비명');
$DB2 = DB('주소','아이디','패스워드','디비명');
// 순환출력 (db1, db2 교차테스트)
$result1=$DB1->query("select * from board");
while($data1=mysql_fetch_array($result1))
{
$result2=$DB2->query("select * from board2");
$data2 = mysql_fetch_array($result2);
echo "$data1[title] => $data2[title]";
}
// 입력
$DB1->query("insert into board(id, pass)values('$id', '$pass')");
// 수정
$DB1->query("update board set id='$id' where no='$no'");
// 삭제
$DB1->query("delete from board where no='$no' ");
// 조회
$result=$DB1->query("select * from board where no = '$no'");$data = mysql_fetch_array($result);
?>
'개발-PHP' 카테고리의 다른 글
[함수] iconv 언어셋 옵션 //TRANSLIT , //IGNORE (0) | 2016.03.30 |
---|---|
[함수] CURL 로 멀티 쓰레드 날리기 (0) | 2016.03.30 |
[함수] EUC-KR 환경에서 유니코드 문자 손상 없이 (0) | 2016.03.30 |
[함수] 구글 번역 API를 이용한 파일 번역 php (0) | 2016.03.30 |
[함수] htmlspecialchars_decode와 html_entity_decode의 문자열 처리의 다른 점 (0) | 2016.03.30 |