관리자단에서요 config을 수정하는데요
본문
// 회원아이디를 SELECT 형식으로 얻음
function get_member_id_select($name, $is_admin, $selected="", $event="")
{
global $t1;
global $con;
$sql = " select mb_id from t1_members where is_admin >= '{$is_admin}' ";
$result = mysqli_query($con, $sql);
$str = '<select id="'.$name.'" name="'.$name.'" '.$event.'><option value="">선택안함</option>';
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$str .= '<option value="'.$row['mb_id'].'"';
if ($row['mb_id'] == $selected) $str .= ' selected';
$str .= '>'.$row['mb_id'].'</option>';
}
$str .= '</select>';
return $str;
}
외부 디비 입력 con 값을 글로벌로 가져오는거 아닐까요?? is_admin 이 10레벨인 관리자로 가져오게하였는데 멈처버렸는지 돌아가지가 않네요.. 뭐가 문제일까요??
!-->
답변 5
php 오류표시를 켜시면 에러메세지가 노출될거에요.
<?php
error_reporting( E_ALL );
ini_set( "display_errors", 1 );
?>
그걸 보시고, 어떤 오류인지 판단하시면 해결될거에요.
mysqli_fetch_array($con, $result);
여기에는 $con 안넣는 거예요. 우선 여긴 수정하셔야 할 듯
mysqli_fetch_array($result);
// 회원아이디를 SELECT 형식으로 얻음
function get_member_id_select($name, $is_admin, $selected="", $event="")
{
global $t1;
global $con;
$sql = " select email from t1_members where is_admin >= '{$is_admin}' ";
$result = mysqli_query($con, $sql);
$str = '<select id="'.$name.'" name="'.$name.'" '.$event.'><option value="">선택안함</option>';
for ($i=0; $row=mysqli_fetch_array($con, $result); $i++)
{
$str .= '<option value="'.$row['email'].'"';
if ($row['email'] == $selected) $str .= ' selected';
$str .= '>'.$row['email'].'</option>';
}
$str .= '</select>';
return $str;
}
이것으로 하니 목록은 안나오는데 에러는 안나오네요
$con 에 sql_connet 정보가 들어있는지 확인하세요.
그리고 이상한게
$result = mysqli_query($con, $sql);
$str = '<select id="'.$name.'" name="'.$name.'" '.$event.'><option value="">선택안함</option>';
for ($i=0; $row=sql_fetch_array($result); $i++)
이부분에서 mysqli_query 인 php sql 함수를 호출하였는데
sql_fetch_array 는 그누보드 함수입니다.
mysqli_fetch_array 와 연결되야 외부 DB에 접속할텐데
어떻게 구성해놓으신지는 전혀 모르겠으나
sql_fetch_Array 는 기존 db 커넥션에 의존하고 있을겁니다.
동일한 이름의 함수가 다른데서 중복 선언된건 아닌지 확인해보세요.