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
function 내부에서 처리되는 변수는
지역변수라서
외부에 존재하는 전역변수를 인식하지 못합니다.
인식하게 하려면
인자값으로 전달을 하던지
global 로 선언을 하여 사용하던지 해야 합니다.
function disp_member_list($check_month ) {
또는
function disp_member_list() {
global $check_month;
@플래토님 말씀처럼 변수부분은 인지하시면 되실것 같고 검색조건은 그냥 라이크가 더 직관적일것 같은데요