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

왜 select 구문에 저 { } 기러기표시로 표현을 해 놓은건가요? 채택완료

번개소녀 11년 전 조회 6,637

$sql_common = "from {$g4[yc4_shop_sendcost_table]}";

$sql_search = " where (1) ";

$sql_order = "order by sc_id desc";

$sql = " select count(*) as cnt             {$sql_common}             {$sql_search}             {$sql_order} "; $row = sql_fetch($sql); $total_count = $row['cnt'];

$rows = $config['cf_page_rows']; $total_page  = ceil($total_count / $rows);  // 전체 페이지 계산 if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지) $from_record = ($page - 1) * $rows; // 시작 열을 구함

$sql = " select *             {$sql_common}             {$sql_search}             {$sql_order}             limit {$from_record}, {$rows} "; $result = sql_query($sql);

------------------------------------------------------------------

도저히 모르겠어요..

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

답변 4개

채택된 답변
+20 포인트
11년 전
{$변수명}
자세히 보시면 " " 안에 있는 변수들만 { } 을 사용하고  있다는 것을 알 수 있네요..  
$query = "select * from tablename where mb_id = $mb_id";
위 " " 안에 변수가 하나($mb_id) 있습니다.
위의 문장처럼 사용해도 괜찮지만 보통은 쌍따움표 안에 변수를 사용할때 문자열 연결연산자(.)를 사용합니다.
예를 들면 아래처럼..
$query = "select * from tablename where mb_id = ".$mb_id." ";
그런데 . 을 이용해서 할 수도 있고 변수에 { } 를 사용해서 할 수도 있습니다.
$query = "select * from tablename where mb_id = {$mb_id}";
이런식으로요.. 오히려 더 간단하네요..
만일 이것이 아닌 또 다른 이유가 있어서 사용한 거라면 답변이 있을겁니다.. 
없으면 이게 맞을 거구요..ㅎㅎ^^;;
로그인 후 평가할 수 있습니다

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

11년 전
찾는게 맞는지 모르겠지만 한번 보세요..
영문이라 전 당췌 뭔소린지 모르겠네요 ㅋㅋㅋ..
로그인 후 평가할 수 있습니다

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

11년 전

답변 너무 감사합니다.

솔직히

$query = "select * from tablename where mb_id = ".$mb_id." "; 
이런 식으로 쓰는건 배워 알고 있습니나만 답변 해주신 것처럼  { } 이런식으로
써서 표현 하는 건 책에서 본 적이 없습니다.
어디서 그런 자세한 내용을 확인 할 수 있는지 알려 주시면 너무 감사 할 거 같습니다.
시중에 나와 있는 책 들을 다 뒤적 거려도 없어 여쭤 봅니다.
감사합니다.
로그인 후 평가할 수 있습니다

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

지구인
11년 전
아랫분이 설명 잘 해놓으셨네요.
쿼리구문안에서 변수를 넣을 땐 {}로 감쌉니다.
안해도 되지만 해주는 것이 연산처리 하는데 훨씬 유리할 겁니다. 그리고 데이터값을 변수로 설정할 때가 있는데 이 때 역시 따옴표 안에서 {}로 감싸줍니다.
예)   " select * from {$g5['member_table']} where mb_id = '{$member['mb_id']}'  "
로그인 후 평가할 수 있습니다

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

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

로그인