list.php에서 db연동부분

list.php에서 db연동부분

QA

list.php에서 db연동부분

본문

그누보드에서는

common.php에서 db연동하는 소스가 있잖아요

 

근데 저는 db를 호스팅에서 제공하는 내부db와 외부서버에서 사용한 외부db

두개를 사용하고자 합니다.

 

 


$dbconfig_file = G5_DATA_PATH.'/'.G5_DBCONFIG_FILE;
if (file_exists($dbconfig_file)) {
    include_once($dbconfig_file);
    include_once(G5_LIB_PATH.'/common.lib.php');    // 공통 라이브러리
    $connect_db = sql_connect(G5_MYSQL_HOST, G5_MYSQL_USER, G5_MYSQL_PASSWORD) or die('MySQL Connect Error!!!');
    $select_db  = sql_select_db(G5_MYSQL_DB, $connect_db) or die('MySQL DB Error!!!');
    // mysql connect resource $g5 배열에 저장 - 명랑폐인님 제안
    $g5['connect_db'] = $connect_db;
    
    //DB추가
    $g5['connect_db_in'] = $connect_db;
    
    $connect_db_out = sql_connect("외부host", "ID", "PW") or die('MySQL Connect Error!!!');
    $select_db_out = sql_select_db("DB명", $connect_db_out) or die('MySQL Connect Error!!!');
    
    $g5['connect_db_out'] = $connect_db_out;
    
    sql_query(" set names utf8 ");
    if(defined('G5_MYSQL_SET_MODE') && G5_MYSQL_SET_MODE) sql_query("SET SESSION sql_mode = ''");
    if (defined(G5_TIMEZONE)) sql_query(" set time_zone = '".G5_TIMEZONE."'");
} else {
?>​
 

 

이런식으로 일단 .. 추가를 해줬는데

board2라는 게시판에만 외부db에서 정보를 가져와 보여주고 싶습니다.

 

그러면 list.php에서

if문을 주어서

if($botable == board2) {

외부db연결 하여 게시글 출력

}

이런식으로 생각을 하고 있습니다...

list.php에서 어떤 부분에 저런 작업을 해주면 될까요?

 

 

이 질문에 댓글 쓰기 :

답변 1

설정이야 어떻게 하던 상관이 없지만 쉽게 사용하기 위해서 배열로 변경하면 편하실 겁니다

$db1['host'] = 'localhost';

$db1['user'] = 'tester';

$db1['pass'] = 'password';

$db1['this'] = 'tester_db';

 

 

$db2['host'] = 'localhost';

$db2['user'] = 'tester2';

$db2['pass'] = 'password';

$db2['this'] = 'tester2_db'; 

 

이런형태로 dbconfig.php파일에 저장을 하고  

 

@mysql_close($connect_db);  

$connect_db = mysql_connect($db2['host'], $db2['user'], $db2['pass']);
$select_db = mysql_select_db($db2['this'], $connect_db);
if (!$select_db){
    die("<meta http-equiv='content-type' content='text/html; charset=$g4[charset]'><script type='text/javascript'> alert('잘못된 접속입니다'); </script>");
    exit;
}

이런 형태로 새로운 데이터 베이스에 접근을 합니다 

 

 

 

 

 

그냥 간단하게 사용하실거면 해당페이지에 바로 사용하면 되겠네요
<?
@mysql_close($connect_db);
$connect_db = mysql_connect("localhost", "root", "1234");
$select_db = mysql_select_db("mydb", $connect_db);
if (!$select_db){
die("<meta http-equiv='content-type' content='text/html; charset=$g4[charset]'><script type='text/javascript'> alert('잘못된 접속입니다'); </script>");
exit;
}
?>
요런식으로 db를 사용하고 db를 다 사용하셧다면 이 db를 종료시키고 다시 이전 db를 불러오시면 되겠네요

list.php에
if(bo_table == board2) {
<?
@mysql_close($connect_db);
$connect_db = mysql_connect("localhost", "root", "1234");
$select_db = mysql_select_db("mydb", $connect_db);
if (!$select_db){
die("<meta http-equiv='content-type' content='text/html; charset=$g4[charset]'><script type='text/javascript'> alert('잘못된 접속입니다'); </script>");
exit;
}
?>
}


이런식으로요?

Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'host' (4)
in /home/hosting_users/호스팅/www/bbs/list.php on line 6

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /home/hosting_users/호스팅/www/bbs/list.php on line 7

이런 오류가 납니다..다른 정보들 오타없이 입력끝냈구요..

if($bo_table == '테이블명'){
      @mysql_close($connect_db);
      $connect_db = mysql_connect("호스트", "아이디", "비밀번호");
      $select_db = mysql_select_db("db명", $connect_db);
      if (!$select_db){
    die("<meta http-equiv='content-type' content='text/html; charset=$g4[charset]'><script type='text/javascript'> alert('잘못된 접속입니다'); </script>");
    exit;
  }

3라인부터 이런식으로 코딩해줬는데
6,7라인이면..저 코딩부분인데 오류가 납니다..

$connect_db = mysql_connect("호스트", "아이디", "비번");
      $select_db = mysql_select_db("db명", $connect_db);

6,7라인이 두부분에서 오류가 납니다.
Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on '호스트' (4) in /home/hosting_users/호스팅/www/bbs/list.php on line 5
'호스트'옆 (4)는 무엇을 의미하는 오류죠....?

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /home/hosting_users/호스팅/www/bbs/list.php on line 6

혹 다른 문법적인 오류는 없나요?
음 아니면 서버쪽에 문의해봐야할까요?
카페24나 서버측에서 접근허용문제일 가능성도 있나요?

답변을 작성하시기 전에 로그인 해주세요.
전체 40
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT