채택완료

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

2017-06-18 (일) 10:53:03 3,507

멤버테이블에 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개 / 댓글 3개

채택된 답변
+20 포인트
2017-06-18 (일) 12:31:01

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

echo $sqlcu['mb_code']; 

답변에 대한 댓글 1개

2017-06-18 (일) 15:17:04
답변 감사드립니다.

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

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

$g5['member'] 가 아닌 $g5['member_table'] 으로 바꿔야 되나 봅니다..
2017-06-18 (일) 18:51:16

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

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

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

echo $rowcu;

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


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


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


댓글 감사드립니다.

2017-06-18 (일) 12:31:01

쿼리 돌릴필요가 없고 친절하게 미리 작업되어 있는 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') ");

}

이렇게 되어 있습니다.

답변에 대한 댓글 2개

2017-06-18 (일) 13:36:43
필드를 새로 추가해서 get_member(); 함수가 불러오지 못하는가 봅니다..ㅠㅠ

get_member(); 함수가 어디에 정의 되어있나요?
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') ");
}

이렇게 되어 있습니다.

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