쿼리문에 대해 문의 올립니다.

쿼리문에 대해 문의 올립니다.

QA

쿼리문에 대해 문의 올립니다.

본문

멤버테이블에 mb_code 라는 필드를 만들어서

 

회원가입시 랜덤으로 코드를 발생해서 mb_code 값은 저장은 되었는데요..

 

게시물을 등록한 사람의 mb_code 를 view.skin.php 안에서 뽑아 오는 쿼리문 좀 일러주실 수 있나요?

 

$sqlcu = " select count(*) as mb_code from {$g5['member']}

                  where mb_nick = '$view['name']'

                  and mb_id = '$view['mb_id']'";

$rowcu = sql_fetch($sqlcu);

 

했더니 

 

Parse error: syntax error, unexpected ''

(T_ENCAPSED_AND_WHITESPACE), expecting identifier

(T_STRING) or variable (T_VARIABLE) or number

(T_NUM_STRING) in ./ /view,skin.php on line 22

 

이런 에러가 나옵니다..

 

'' 을 빼도 마찬가지 에러가...ㅠㅠ

 

쿼리문은 젬병이라 어렵네요, 고수님의 고견 구합니다.

 

감사합니다.


이 질문에 댓글 쓰기 :

답변 3

$sqlcu = sql_fetch("SELECT mb_code FROM ".$g5['member']." WHERE mb_id = '".$view['mb_id']."'");

echo $sqlcu['mb_code']; 

답변 감사드립니다.

$sqlcu = "select
                      mb_code
              from
                      {$g5['member_table']}
              where
                      mb_id = '{$view['mb_id']}'
              ";
$rowcu = sql_fetch($sqlcu);

위와 같이 쿼리문 날리니 출력됩니다.

$g5['member'] 가 아닌 $g5['member_table'] 으로 바꿔야 되나 봅니다..

쿼리 돌릴필요가 없고 친절하게 미리 작업되어 있는 get_member 함수를 사용하면 됩니다.

 

목록은

 

list.skin.php 에서 아래처럼 추가

 

<?php

for ($i=0; $i<count($list); $i++) {

$mb = get_member($list[$i]['mb_id']);

?>

 

<?php echo $mb['mb_code']; ?> 

 

뷰페이지는

 

view.skin.php 상단에 $mb = get_member($view['mb_id']); 게 선언하고 

 

<?php echo $mb['mb_code']; ?> 

 

불러오면 됩니다..


get_member 함수에서 sql 선언은  common.lib.php 702 라인 정도에서 이루어 집니다.

 

// 회원 정보를 얻는다.

function get_member($mb_id, $fields='*')

{

    global $g5;

 

    return sql_fetch(" select $fields from {$g5['member_table']} where mb_id = TRIM('$mb_id') ");

}

 

이렇게 되어 있습니다.

 

mb_code 필드가 제대로 db에 들어갔나요? db 필드에 따로 추가 안하신거 같은데요.
mb_1 ~ 10 까지의 필드로 테스트 해보세요

제대로 들어갔으면 불러올겁니다^^;;

common.lib.php 702 라인 정도에서 이루어 집니다.
 
// 회원 정보를 얻는다.
function get_member($mb_id, $fields='*')
{
    global $g5;
 
    return sql_fetch(" select $fields from {$g5['member_table']} where mb_id = TRIM('$mb_id') ");
}
 
이렇게 되어 있습니다.

녜.. db 열어서 확인했습니다.. 분명 mb_code 에 값은 저장되어있습니다..

 

함수호출로는 출력이 되지 않는데...

 

$sqlcu = "select 
                      mb_code 
              from 
                      {$g5['member_table']} 
              where 
                      mb_id = '{$view['mb_id']}' 
              "; 
$rowcu = sql_fetch($sqlcu) 

echo $rowcu;

하면 제대로 출력되는군요..


함수 선언된 내용과 같아 보이는데, 이유를 모르겠습니다.


해결은 되었지만, 이유가 궁금해 지는군요...


댓글 감사드립니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,922 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT