변수 질문
본문
그누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
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."; // 그래서 변수명을 명확하게 하기 위해 중괄호를 사용합니다 ㅎㅎ
결국은 ./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파일의 내용을 못읽은 이유가 정말 궁금하네요~~