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

$fields 변수에 관하여 채택완료

음바폐 7년 전 조회 6,343

안녕하세요,

그누보드 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개

채택된 답변
+20 포인트
S
7년 전

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 = '아이디'

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

음바폐
7년 전
답변 감사합니다.

아, 그럼 이것이 여러 매개변수가 있는 함수의 방정식? 인가보군요.
이런 $fields='*' 방정식을 뭐라 부르나요?

그럼 get_member 함수를 호출할때마다, $mb_id와 $fields값은 매개변수라 할때 $fields가 비어있을때 (예. get_member('admin') ) sql에서는 select * 쿼리를 넣어, 그 테이블의 모든 리코드를 선택하는다는 뜻인가요?

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

7년 전

$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'이 됨)

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

음바폐
7년 전
답변 감사합니다.

아, 그럼 이것이 여러 매개변수가 있는 함수의 방정식? 인가보군요.
이런 $fields='*' 방정식을 뭐라 부르나요?

그럼 get_member 함수를 호출할때마다, $mb_id와 $fields값은 매개변수라 할때 $fields가 비어있을때 (예. get_member('admin') ) sql에서는 select * 쿼리를 넣어, 그 테이블의 모든 리코드를 선택하는다는 뜻인가요?

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

7년 전

common.lib.php 파일 1104라인에서 호출하고 있네요.

get_point_sum($mb_id) 함수 내에서 호출하고 있습니다.

얻고자 하는 필드를 명시하고 있는 것으로 보입니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

음바폐
7년 전
댓글 감사합니다.
밑에 분이 설명을 잘 해주셨네요

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

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

로그인