채택완료

PHP 문법 질문 드립니다!

2019-10-30 (수) 00:57:17 1,956

$sql = " select * from {$g5['board_table']} where bo_table = '{$bo_table}' ";

latest.lib.php 에 있는 한줄인데요!

select * from 테이블명 where 조건

이렇게만 사용했었는데 만약 위와같은 한줄의 경우라면

그누보드 SQL 내에서 어떤 테이블을 선택한다고 보면 될까요??

{$g5['board_table']}

그리고 latest.lib.php 파일 내에서 {$bo_table} 는 어떻게 변수가 설정되어있을까요??

추가로 테이블명과 조건절에서 사용하는 {} 중괄호의 의미가 뭘까요?

궁금합니다 ㅠㅠ 쌩초보를 위해 부탁드릴게요 ㅠ

|

답변 4개

채택된 답변
+20 포인트

1.

$g5['board_table'] 변수를 사용하면 테이블 접두어가 변하더라도 자동으로 인식해서,

별도로 코드를 수정할 수고를 덜 수 있습니다.

g5_board 테이블 지칭하며, 모든 테이블 목록 정보를 담고 있는 테이블입니다.

특정 테이블을 선택하려면, where 조건절 이용해 제한해줘야 겠죠.

2.

중괄호를 사용하는 이유는

문자열 내에서 배열변수를 사용할 땐 PHP가 인식하기 쉽도록 묶어줘야 합니다.

옛날엔 문법이 안 엄격했는데, php7 버전이 되면서 안 묶은 경우 에러 뿜습니다.

문자열 내에서 변수 사용할 땐, 되도록 묶어주는 습관을 기르는 게 좋습니다.

2019-10-30 (수) 08:58:53

echo $sql;

이렇게 찍어보세요 이해하기 쉬우실 거에요

2019-10-30 (수) 01:07:10

{$g5['board_table']}

이렇게 괄호를 감싸는 이유는

https://www.php.net/manual/en/language.variables.variable.php

위 주소 참고해 보세요~~

2019-10-30 (수) 01:02:25

{$g5['board_table']}

은 g5_board 를 지정하는것 입니다.

$bo_table 의 변수는 지정된것이 아닌 넘어오는 table 이름입니다.

$sql = " select * from g5_board where bo_table = 'free' ";

$sql = " select * from g5_board where bo_table = 'gallery' ";

$sql = " select * from g5_board where bo_table = 'notice' "

위의 3가지를 보시면 이해하기 쉬울거에요~~ 채택해주셔서

바로 답글 달았어요~~

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