왜 select 구문에 저 { } 기러기표시로 표현을 해 놓은건가요?
본문
$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
{$변수명}
자세히 보시면 " " 안에 있는 변수들만 { } 을 사용하고 있다는 것을 알 수 있네요..
$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}";
이런식으로요.. 오히려 더 간단하네요..
만일 이것이 아닌 또 다른 이유가 있어서 사용한 거라면 답변이 있을겁니다..
없으면 이게 맞을 거구요..ㅎㅎ^^;;
아랫분이 설명 잘 해놓으셨네요.
쿼리구문안에서 변수를 넣을 땐 {}로 감쌉니다.
안해도 되지만 해주는 것이 연산처리 하는데 훨씬 유리할 겁니다. 그리고 데이터값을 변수로 설정할 때가 있는데 이 때 역시 따옴표 안에서 {}로 감싸줍니다.
예) " select * from {$g5['member_table']} where mb_id = '{$member['mb_id']}' "
답변 너무 감사합니다.
솔직히
$query = "select * from tablename where mb_id = ".$mb_id." ";
이런 식으로 쓰는건 배워 알고 있습니나만 답변 해주신 것처럼 { } 이런식으로
써서 표현 하는 건 책에서 본 적이 없습니다.
어디서 그런 자세한 내용을 확인 할 수 있는지 알려 주시면 너무 감사 할 거 같습니다.
시중에 나와 있는 책 들을 다 뒤적 거려도 없어 여쭤 봅니다.
감사합니다.
찾는게 맞는지 모르겠지만 한번 보세요..
영문이라 전 당췌 뭔소린지 모르겠네요 ㅋㅋㅋ..
답변을 작성하시기 전에 로그인 해주세요.