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

중괄호 질문! 채택완료

유보 7년 전 조회 3,556

 from {$g5['board_file_table']}  where

 

여기 이 { } 이게 안먹는거같아요 

변수 정의는 되어있는데 

{ 가 php 버젼문제인지 

php.ini 문제인지 

먹질 않는데 

먹게 할려면 뭘 건들어야하는건지 아시는분???

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

답변 1개

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

당연히 인식되는 것으로 알고 있어서,

버전과 관련된 문제인지 또는 php.ini 설정과 관련된 문제인지는 잘 모르겠습니다만..

 

버전명 중괄호 문제는, 위의 구문을 다음과 같이 테스트해보면 더 명확하게 알 수 있습니다.

 

$tmp_table = 'g5_board_file';

$sql = "select * from {$tmp_table}";

echo $sql;

 

(또는 sql 구문 생성 바로 전에 echo $g5['board_file_table']; 로 확인)

 

이런식으로 했을 때 결과 출력문에 'g5_board_file' 표시된다면,

변수 중괄호 인식문제는 아닙니다. $g5['board_file_table'] 이 정의되지 않아서입니다.

그누보드에서는 대부분의 페이지에서 /common.php 를 include 하는 구조로 되어 있습니다.

/common.php 가 인클루드 되지 않아서 생긴 문제일 수 있습니다.

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

답변에 대한 댓글 3개

유보
7년 전
출력은 되는데 { } 로 감싸면 안되네요 ㅜㅜ
마르스컴퍼니
7년 전
혹 sql 구문을 쌍따옴표 대신에 홑따옴표를 쓰는 경우의 문제일 수 있습니다.

$sql = "select * from {$tmp_table}"; (O)
$sql = 'select * from {$tmp_table}'; (X)

php 의 문자열 처리에 있어서, 쌍따옴표 안에는 변수를 쓸 수 있지만,
홑따옴표 안에서는 변수를 사용할 수 없습니다. http://jinolog.com/programming/php/2012/11/01/php-quotation-difference.html
유보
7년 전
그누보드의 lib 에 잇는 내용이라
건들지 않았어요
A서버에서는 잘되는데
B서버에서 안되어서
환경설정 문제가 아닐까 생각됩니다 ㅠㅠ

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

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

로그인