$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 = '아이디'
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
$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개
아, 그럼 이것이 여러 매개변수가 있는 함수의 방정식? 인가보군요.
이런 $fields='*' 방정식을 뭐라 부르나요?
그럼 get_member 함수를 호출할때마다, $mb_id와 $fields값은 매개변수라 할때 $fields가 비어있을때 (예. get_member('admin') ) sql에서는 select * 쿼리를 넣어, 그 테이블의 모든 리코드를 선택하는다는 뜻인가요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
아, 그럼 이것이 여러 매개변수가 있는 함수의 방정식? 인가보군요.
이런 $fields='*' 방정식을 뭐라 부르나요?
그럼 get_member 함수를 호출할때마다, $mb_id와 $fields값은 매개변수라 할때 $fields가 비어있을때 (예. get_member('admin') ) sql에서는 select * 쿼리를 넣어, 그 테이블의 모든 리코드를 선택하는다는 뜻인가요?