쿼리문에 대해 문의 올립니다.
본문
멤버테이블에 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'];
쿼리 돌릴필요가 없고 친절하게 미리 작업되어 있는 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') ");
}
이렇게 되어 있습니다.
녜.. db 열어서 확인했습니다.. 분명 mb_code 에 값은 저장되어있습니다..
함수호출로는 출력이 되지 않는데...
$sqlcu = "select
mb_code
from
{$g5['member_table']}
where
mb_id = '{$view['mb_id']}'
";
$rowcu = sql_fetch($sqlcu)
echo $rowcu;
하면 제대로 출력되는군요..
함수 선언된 내용과 같아 보이는데, 이유를 모르겠습니다.
해결은 되었지만, 이유가 궁금해 지는군요...
댓글 감사드립니다.