$fields 변수에 관하여
본문
안녕하세요,
그누보드 common.lib.php에서
function get_member($mb_id, $fields='*')
{
global $g5;
return sql_fetch(" select $fields from {$g5['member_table']} where mb_id = TRIM('$mb_id') ");
이렇게 자주 등장하는 $fields 변수가 어디에서 정의되었는지 아예 정보가 없네요
대략 $fields=mysqli_num_fields( );
일것으로 추정되는데, 혹시 어느 파일에 정의되었는지 아니면 등장하는지
알려주실수 있을까요?
감사합니다.
답변 3
function get_member($mb_id, $fields='*')
해당 $fields 변수는 해당함수 호출시 해당부분에 변수가 없을 경우 * 를 리턴하게 합니다.
때문에 get_member('해당아이디') 일경우
select * from {$g5['member_table']} where mb_id = '아이디'
get_member('해당아이디','mb_name') 일경우
select mb_name from {$g5['member_table']} where mb_id = '아이디'
common.lib.php 파일 1104라인에서 호출하고 있네요.
get_point_sum($mb_id) 함수 내에서 호출하고 있습니다.
얻고자 하는 필드를 명시하고 있는 것으로 보입니다.
$fields 변수가 어디에서 정의되었는지 <--- 어디에 정의 해둔 것이 아니라
추출하고 싶은 필드를 get_member()함수를 호출할때 넘겨주면
get_member()함수에서 받는 변수가 $fields인 것이죠
1. $mb = get_member('admin') --> 필드 지정이 없으므로 전체 필드를 추출하여 $mb[mb_id] , $mb[mb_name] , $mb[mb_1] 등으로 사용할 수 있음 (이때 $fields ='*'가 됨)
2. $mb = get_member('admin', 'mb_name') --> mb_name 필드만 지정하여 추출 $mb[mb_id]는 값이 없음 (이때 $fields ='mb_name'이 됨)