채택완료

list.php에서 db연동부분

2015-05-09 (토) 14:49:05 4,451

그누보드에서는

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

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

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

Copy
$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개 / 댓글 11개

채택된 답변
+20 포인트
2015-05-11 (월) 10:52:00

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

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

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

답변에 대한 댓글 11개

이런식으로 배열에 저장해서 연결설정을 해주면
board2라는 게시판은 db2라는 db를 연결해주려면 조건을 주어야하지 않나요?
list.php에요 board2에서만 db2를 사용하고자 한다면..
그냥 간단하게 사용하실거면 해당페이지에 바로 사용하면 되겠네요
<?
@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;
}
?>
}


이런식으로요?
네 그렇게 넣어서 사용하시는게 좋을것같네요
db아웃을 해줄때에는..list.php맨 끝부분에
$g5['connect_db'] = $g5['connect_db']; 이렇게 코딩해주면 될까요?
​@mysql_close($connect_db);
또는 @mysql_close($g5['connect_db']);
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나 서버측에서 접근허용문제일 가능성도 있나요?
그냥 db에 접속 하지 못하는 오류니까
호스트 아이디 비번이 틀린것 같은데요
호스트 ip를 localhost로 변경해주니
권한오류?가 나는거 같네요..
서버측이랑 카페24리셀러측에 문의해봐야겠씁니다.
코딩해주신거 꼭 쓰도록 하겠습니다. 감사합니다.

답변을 작성하려면 로그인이 필요합니다.