테스트 사이트 - 개발 중인 베타 버전입니다

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

GNUAPP 5년 전 조회 2,237

$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 포인트
플래토
5년 전

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

지역변수라서

 

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

 

인식하게 하려면

인자값으로 전달을 하던지

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

 

function disp_member_list($check_month )  {

 

또는

function disp_member_list()  {

    global $check_month;

 

 

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

답변에 대한 댓글 1개

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

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

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

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

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

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

로그인