채택완료

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

2015-12-18 (금) 09:48:42 4,851
Copy
$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개 / 댓글 9개

채택된 답변
+20 포인트
2015-12-18 (금) 10:39:08

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

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

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

답변에 대한 댓글 1개

감사합니다. 막혀있었나봐요 ㅠㅠㅎㅎ

ㅎㅎ sql_query 펑션에 // union의 사용을 허락하지 않습니다. 라고 써있네요 

답변에 대한 댓글 1개

그걸 찾아볼 생각은 했다는....ㅋㅋㅋㅋ
2015-12-18 (금) 11:01:06

저도 이제야 함수 확인 했네요.

sql_query 함수에 union 구문을 막아 놨네요.  좋은 거 하나 배워 갑니다.

답변에 대한 댓글 1개

그러게요 저도 이제 알았네요^^
역시 질문속에 배움이란~

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

Copy
$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++; }

답변에 대한 댓글 2개

답변감사합니다. sql_query, sql_fetch_array 가 안먹히는거였네요!ㅎㅎㅎ
2015-12-18 (금) 11:16:41
그런데 이게 무엇을 뽑아내는 건가요? ㅎ
2015-12-18 (금) 10:39:09

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

답변에 대한 댓글 1개

그누보드에서는 union all이 막혀있었나봅니다..^^;

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

답변에 대한 댓글 1개

echo 값을 찍어봐도 빈값이나옵니다.

카운트를 찍어봐도 1번밖에 안돌아가구요..ㅠㅠ

union all 이 안될이유가 없는데 이상하네요..하아~

7e7fd18239583a4b78b7edae1aabfd58_1450401913_2573.jpg
 

2015-12-18 (금) 10:21:51

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

답변에 대한 댓글 1개

네 안써도 개별로는 나옵니다.

phpmyadmin에서 저 쿼리 그대로 치면 10개의 결과가 나옵니다.

쿼리문에는 문제가없습니다... 다른이유를 알려주시면 감사하겠습니다.. 

답변은 아니지만

'sub01_03' -> sub01_03

'sub01_02' -> sub01_02

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

답변에 대한 댓글 1개

mysql에서..임의값을 만들때 저렇게 사용합니다...

'sub01_02' as table_no, 'sub01_03' as table_no 는 새로운컬럼을 임의적으로 만들어준값입니다.

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