테스트 사이트 - 개발 중인 베타 버전입니다

db연동 오류 채택완료

bde6891 10년 전 조회 5,105

안녕하세요,

일단..

사정상 카페24에서 제공하는 내부db와 외부db를 사용하게 됐습니다.

뭐 회원정보 같은경우는 내부db를 사용하고

 

게시글 같은 경우는 외부db에서 쿼리문을 짜서 가져올 예정인데..

외부db연동에서 오류가 납니다.

 

제가 지정한 게시판(board2)에서만 외부db를 사용할것이기 떄문에

 

list.php에

</p><p> </p><div class="container"><div class="line number1 index0 alt2"><code class="php keyword">if</code><code class="php plain">(</code><code class="php variable">$bo_table</code> <code class="php plain">== board2){</code></div><div class="line number2 index1 alt1"><code class="php spaces">      </code><code class="php plain">@mysql_close(</code><code class="php variable">$g5</code><code class="php plain">[</code><code class="php string">'connect_db'</code><code class="php plain">]); </code></div><div class="line number3 index2 alt2"><code class="php spaces">      </code><code class="php variable">$connect_db</code> <code class="php plain">= mysql_connect(</code><code class="php string">"host"</code><code class="php plain">, </code><code class="php string">"id"</code><code class="php plain">, </code><code class="php string">"pw"</code><code class="php plain">); </code></div><div class="line number4 index3 alt1"><code class="php spaces">      </code><code class="php variable">$select_db</code> <code class="php plain">= mysql_select_db(</code><code class="php string">"db"</code><code class="php plain">, </code><code class="php variable">$connect_db</code><code class="php plain">);</code></div><div class="line number5 index4 alt2"><code class="php spaces">      </code> </div><div class="line number6 index5 alt1"><code class="php spaces">      </code><code class="php keyword">if</code> <code class="php plain">(!</code><code class="php variable">$select_db</code><code class="php plain">){ </code></div><div class="line number7 index6 alt2"><code class="php spaces">        </code><code class="php keyword">die</code><code class="php plain">(</code><code class="php string">"<meta http-equiv='content-type' content='text/html; charset=$g4[charset]'><script type='text/javascript'> alert('잘못된 접속입니다'); </script>"</code><code class="php plain">); </code></div><div class="line number8 index7 alt1"><code class="php spaces">        </code><code class="php functions">exit</code><code class="php plain">; </code></div><div class="line number9 index8 alt2"><code class="php spaces">      </code><code class="php plain">}</code></div></div><p> </p><p>
 

 

 

이런식으로 코딩해줬습니다.

 

$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

서버정보는 분명 제가 mysql접속해서 테스트해서 문제없이 접속 가능했구요..

코딩한 부분에 뭔가 문법적인 문제가 있는건지..

아니면 외부서버측에서 접근허용을 안해줘서 그런건지..

(이 부분에 대해서는 제 ip에 대해서 접속허용을 받았는데, 별다른 절차가 또 있는건지..

 

카페24측에 다중db에 관해 물어봐도 그누보드 관련은 그누보드 쪽에 문의해보라고 하더라구요.'

 

db아이디, 비번, db명, host 등은 제가 mysql에서 test했을 때 정상적으로 접속이 됩니다.

 

어디에 문제가 있는건지..

 

 

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

답변 2개

채택된 답변
+20 포인트
10년 전

host 자리에 어떤 값을 넣었나요? IP를 넣었고 해당 서버에서 외부접속 허락상태면 문제 없을 것인데..

외부 디비라는 것이 g5_write_board2 테이블만 생성 되어 잇는가요?

첨부화일은 어떻게 처리하고 있는가요?

 

php도 초보이지만 그누보드 또한 초보신 것 같은데 질답으로 해결 할 수 있는 문제가 아닙니다

외부 디비 연결을 list.php에서 해서 작동가능한 것인지

board.php에서 게시판 기본설정들을 사용하고 있는데 list.php에서 외부접속으로 데이터만 읽어오면 되는 것인지

스킨경로 설정이라던가 $board배열변수, wr_id가 있을 때 $write배열변수  등을 어떻게 적용해야하는지

상황을 파악해서 적용해야 하는데 질문만으로는 가능할 것 같아보이지 않는군요

 

list, view, write 등의 화일에 있는 쿼리문이 작동하기위해서는 외부연결 후 아래와 같은 설정도 필요한데

이런 것들을 이해하고 있는 상황인가요?

$g5['connect_db_org'] =  $g5['connect_db'];

$g5['connect_db'] = $connect_db;

 

이후 내부 접속이 필요한 곳에서는 다시

$g5['connect_db'] = $g5['connect_db_org'];

 

 

상황을 보아하니 외부연결설정을 extend에서 조건을 주어 연결되도록 헤놓고

필요에 따라 $g5['connect_db'] 값을 위처럼 변경해주는 방법으로하면 될 것으로 보입니다만..

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

b
bde6891
10년 전
네 다 초보입니다.
외부db에서는 테이블이 다르고 쿼리문을 join해서 뿌려줄 예정입니다.
첨부파일은 따로 없구요.
그냥 게시글db만 가져와서 요구대로 뿌려주고자 합니다.

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

cafe24에서 mysql 는 기본적으로 외부접근이 안됩니다.

 

관리자페이지에서 설정하면 하나의 ip에서는 접근이 가능하게 되죠.

먼저 이부분이 해결이 됐는지 확인 바랍니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

b
bde6891
10년 전
cafe24의 mysql도 사용하면서 외부서버에 있는 db를 사용하고자 합니다.

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

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

로그인