그누보드 소스에서 sql문 작성시 정보
그누보드 소스에서 sql문 작성시본문
그누보드의 소스를 보면 sql문을 작성하는 방법이 서로 다른것이 많습니다.
아래의 세가지 sql문은 각각 어떤경우에 사용하기 위해 저런식으로 하는지 궁금합니다.
$sql1 = " select * from {$g4[member_table]} ";
$sql2 = " select * from $g4[member_table] ";
$sql3 = " select * from $g4['member_table'] ";
아래의 세가지 sql문은 각각 어떤경우에 사용하기 위해 저런식으로 하는지 궁금합니다.
$sql1 = " select * from {$g4[member_table]} ";
$sql2 = " select * from $g4[member_table] ";
$sql3 = " select * from $g4['member_table'] ";
댓글 전체
똑같습니다.
다만, 처음 인식할 때 상수형으로 인식하느냐 문자열이냐에 따라 php 내부 엔진에서 파싱하는 순서가 달라집니다.
가장 추천하는 코딩은
$sql = "select * from {$g4['member_table']} ";
위의 코딩방법이며 중괄호로 감싸므로 바로 문자열로 인식시켜 줍니다.
다만 php 파싱하는 경우를 잘 감안해서 해야합니다.
오류 예 : 필드에 가변형 인덱스를 붙이는 경우)
for($a=0; $row=mysql_fetch_array($result); $a++)
$b = $row["count{$i}"]; // 맞는 파싱, 즉 php로 파싱하는 경우는 이렇게..
$b = $row['count{$i]']; // 맞지않는 파싱(필드를 못찾게 되겠죠)
$b = $row['count1']; // 이런 경우면 맞습니다.
권장하지 않는 코딩스타일이라면,
2번이 되겠습니다.
다만, 처음 인식할 때 상수형으로 인식하느냐 문자열이냐에 따라 php 내부 엔진에서 파싱하는 순서가 달라집니다.
가장 추천하는 코딩은
$sql = "select * from {$g4['member_table']} ";
위의 코딩방법이며 중괄호로 감싸므로 바로 문자열로 인식시켜 줍니다.
다만 php 파싱하는 경우를 잘 감안해서 해야합니다.
오류 예 : 필드에 가변형 인덱스를 붙이는 경우)
for($a=0; $row=mysql_fetch_array($result); $a++)
$b = $row["count{$i}"]; // 맞는 파싱, 즉 php로 파싱하는 경우는 이렇게..
$b = $row['count{$i]']; // 맞지않는 파싱(필드를 못찾게 되겠죠)
$b = $row['count1']; // 이런 경우면 맞습니다.
권장하지 않는 코딩스타일이라면,
2번이 되겠습니다.