쿼리관련해서 질문좀드리겠습니다.

쿼리관련해서 질문좀드리겠습니다.

QA

쿼리관련해서 질문좀드리겠습니다.

본문


$sql_img = " select wr_id, 'sub01_03' as table_no from g5_write_sub01_03 where wr_1='y' union all select wr_id, 'sub01_02' as table_no from g5_write_sub01_02 where wr_1='y' ";
    $result = sql_query($sql_img);
    $cnt = 0;
    while($row = sql_fetch_array($result)){
        $row_id[$cnt] = $row['wr_id'];
        $table_no[$cnt] = $row['table_no'];
        $cnt++;
    }

 

제가봤을때는 이유없이 약 10개의 결과가 나와야합니다..

phpmyadmin에서 쿼리치면 제대로 나오는데.. 어디가 이상한건지 while문돌리면 안나오네요?

제눈에는 잘못된곳이 전혀 안모입니다 ㅠㅠㅠㅠ흑  

이 질문에 댓글 쓰기 :

답변 12

union all에서 구분하기 위해서 가상으로 값 부여하는 걸 깜빡했네요.

sql_query, sql_fetch_array 이 함수 말고 mysql_query, mysql_fetch_array 함수로 바꿔서 하시면 아마 나올 거 같네요.

그누보드에서 union all을 막았던 걸로 기억합니다.

쿼리상에 문제가 없다면 이리 해보세요.

 


 
$sql_img = " select wr_id, 'sub01_03' as table_no from g5_write_sub01_03 where wr_1='y' union all select wr_id, 'sub01_02' as table_no from g5_write_sub01_02 where wr_1='y' ";
 
$result = mysql_query($sql_img);
 
$cnt=0;
while($row = mysql_fetch_array($result,MYSQL_ASSOC)) {
 
$row_id[$cnt] = $row['wr_id'];
$table_no[$cnt] = $row['table_no'];
$cnt++;
 
}

 

해당 테이블에 sub01_03이라는 칼럼이 있는 거죠?

그리고 작은따옴표(')를 빼거나 백틱(`)으로 감싸 보세요.

칼럼명 as table_no 혹은 `칼럼명` as table_no 

while 위에 $row_id = $table_no = array(); 넣어 보세요. 

답변은 아니지만

'sub01_03' -> sub01_03

'sub01_02' -> sub01_02

일단 이건 이렇게 수정해야 할거 같아요

  

union all 안쓰고 개별로는 나오나요? 

위 소스로는 결과 보여주는 부분이 없는데 혹시 어떻게 보여주는지요? 

while문 위에 mysql_num_row($result) 찍어서 몇줄이 들어가 있는지 함 보시겠어요.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 224
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT