쿼리관련해서 질문좀드리겠습니다.
본문
$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) 찍어서 몇줄이 들어가 있는지 함 보시겠어요.
답변을 작성하시기 전에 로그인 해주세요.