테스트 사이트 - 개발 중인 베타 버전입니다

그누보드 sql_query, sql_fetch 함수는 union이 안된다고 해서..수정이 필요하네요 채택완료

더블피디 9년 전 조회 5,576

 

왕계란님이 답변을 달아주셨는데요

http://sir.kr/qa/152608">http://sir.kr/qa/152608 문의내용에 대한 내역입니다.

 

 

기존의 sql_fetch를 아래와 같이 변경

$row = mysql_query(mysql_fetch_array($sql)); 

 

$sql_common       = " from ( g5_write_item07 ) ";

$sql_commonUnion  = " from ( select wr_id, wr_datetime from g5_write_item07 union select wr_id, wr_datetime from g5_write_item08) x ";

 

 

//총 등록건수

$sql = " select count(*) as cnt {$sql_commonUnion} {$sql_search} {$sql_order} ";

//$row = sql_fetch($sql);

$row = mysql_query(mysql_fetch_array($sql));

$total_count = $row['cnt'];


===> sql_fetch는 union 안된다고 해서... 

mysql_query, mysql_fetch_array로 변경을 했는데 아래 그림처럼 총 등록건수가 0입니다.

 

실제 db에서 쿼리를 하면, 

mysql> select  count(*) as cnt from (select wr_id, wr_datetime, wr_is_comment from g5_write_item07 union select wr_id, wr_datetime, wr_is_comment from g5_write_item08) x where wr_is_comment =0;

+-----+

| cnt |

+-----+

| 193 |

+-----+

1 row in set (0.00 sec)


//승인건수 

$sqlReg = " select count(*) as cnt {$sql_common} {$sql_search} ";

$rowReg = sql_fetch($sqlReg);

$total_countReg = $rowReg['cnt'];


===> 정상적으로 쿼리 진행됨(원본그대로)


 


<div class="local_ov01 local_ov">

    <?php echo $listall ?>

    총 등록건수 <?php echo number_format($total_count) ?>개 | 승인건수 <?php echo number_format($total_countReg) ?>개

</div>

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

답변 3개

채택된 답변
+20 포인트
9년 전

쿼리질의를 먼저 하신후 fetch_arrray 하셔야 합니다.

$row = mysql_query(mysql_fetch_array($sql));

->

$row = mysql_fetch_array(mysql_query($sql));

로그인 후 평가할 수 있습니다

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

아 순서를 제가 잘못 적었네요.

$query = mysql_query("~~");

$row = mysql_fetch_array($query);

 

이 순서가 맞습니다. 

로그인 후 평가할 수 있습니다

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

진서기
9년 전

$row = mysql_query(mysql_fetch_array($sql));  

 

이부분 손보세요

 

query 다음이 fetch 입니다. 

 

괄호 안쪽 함수가 먼저 실행됩니다. 

로그인 후 평가할 수 있습니다

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

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

로그인