sql 에서 변수를 넣으면 값을 불러오지 못해요. 채택완료

$check_month = "202007";

 

function disp_member_list() 

    $sqlv = "select distinct mb_id from g5_write_good where wr_is_comment = 0 and wr_comment > 0 and left(wr_1,6) <= '{$check_month}' and left(wr_2,6) >= '{$check_month}'";
    $resultv = sql_query($sqlv); 
    $str = ""; 
    for ($v=0; $row=sql_fetch_array($resultv); $v++) 
    { 
        $str .= ""; 
        $str .= $row[mb_id]; 
        $str .= ","; 
    } 
    $str .= ""; 
    return $str;  
}

 

wr_1과 wr_2 에 저장된 날짜 데이터로 회원 아이디를 불러오는 소스코드입니다.

이상하게 $check_month 부분을 변수로 넣으면 동작을 하지 않습니다.

$check_month 대신 202007 이라고 넣으면 동작 하네요.

원인을 알 수 있을까요? 도움 부탁 드립니다.

답변 2개

채택된 답변
+20 포인트

function 내부에서 처리되는 변수는

지역변수라서

 

외부에 존재하는 전역변수를 인식하지 못합니다.

 

인식하게 하려면

인자값으로 전달을 하던지

global 로 선언을 하여 사용하던지 해야 합니다.

 

function disp_member_list($check_month )  {

 

또는

function disp_member_list()  {

    global $check_month;

 

 

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

답변에 대한 댓글 1개

플래토님 답변 감사합니다. 덕분에 문제를 해결하였습니다~

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

@플래토님 말씀처럼 변수부분은 인지하시면 되실것 같고 검색조건은 그냥 라이크가 더 직관적일것 같은데요

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

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

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

로그인
🐛 버그신고