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

변수 질문 채택완료

울산김 10년 전 조회 2,391

그누4 -> 그누5 변환 작업중입니다.

 

1. 그누4의 config.php에서 : $g4['member_table']        = $g4['table_prefix'] . "member";        // 회원 테이블

   선언이 되어 있습니다. -------> $g4['member_table'] = g4_member 가 됩니다.

2. g4_import_run.php에서 쿼리문을 $sql = "select * from {$g4['member_table']}"; 로 돌리면 아무런 데이터를

   읽지 못합니다.

3. g4_import_run.php에서 쿼리문을 $sql = "select * from g4_member"; 로 돌리면 모든 데이터를 읽어 옵니다.

 

echo $g4['member_table']을 하면 null이 뜨네요.

 

변수선언이 이해가 안되서 생기는 문제인거 같은데 상수도 아니고 배열변수도 아니고, 왜 이런지 좀 알려주세요.

더불어 쿼리선언문에 {$g4['meber_table']} 처럼 {}기호가 쓰이는 이유도 함께 부탁드립니다. 

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

답변 2개

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

 

g4_import_run.php 166라인 

require($g4_config_file);에서

$g4_config_file을 g4의 config.php 파일의 경로를 정확하게 줘 보세요.

경로에 문제가 있으니 $g4['member_table']을 제대로 인식하지 못하는 듯 싶네요.

 

그리고 변수명에 {}(curly brace)가 들어가는 이유는

변수명을 명확히 하고자 할 때 사용합니다.

 

예를 들어 banna를 출력하고자 할 때 

$var = "ban";

echo "This is a $varna."; 이라 작성하면 undefined variable 에러가 뜨겠죠.

echo "This is a {$var}na."; // 그래서 변수명을 명확하게 하기 위해 중괄호를 사용합니다 ㅎㅎ 

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

답변에 대한 댓글 1개

울산김
10년 전
config.php 파일은 정확하게 불러오고 있습니다.

echo $g4['member_table']; 실행하니 아무런 출력값이 없는 이유는 뭘까요?

참고로 단독서버이며, php버전 5.3.28, mysql버전 5.1.73 이고, 아직 도메인을 연결하지 않아
ip로 접근하고 있습니다.

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

10년 전

결국은 ./g4conf/config.php 파일의 전체 내용을

g4_import_run.php 파일에 삽입하여 이전을 완료하였습니다.

 

./g4conf/config.php 파일을 못읽어서 생긴 문제인 것 같습니다.

 

그러나, 분명 서버상에 루트/g4conf/config.php 파일은 존재하고 있었고,

g4_import_run.php에서 echo $g4_config_file 을 하면 ./g4conf/config.php 가 출력되었습니다.

config.php파일의 내용을 못읽은 이유가 정말 궁금하네요~~ 

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

답변에 대한 댓글 1개

네이비칼라
10년 전
네 제가 볼 수 있다면 어떻게 말씀드리겠지만
그렇지 못해 아쉽습니다.
g4와 g5가 설치된 것을 잘 보시면 잘 해결되겠지요 ^^

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

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

로그인