Mysql 기초적인듯한 질문 하나 드려도 될까요?

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
Mysql 기초적인듯한 질문 하나 드려도 될까요?

QA

Mysql 기초적인듯한 질문 하나 드려도 될까요?

본문

질문1> non-numeric 오류가 나네요.

 

$query = sql_query("SELECT wr_2 FROM g5_write_bbs1");
while($rows = sql_fetch_array($query)) {
   $rows['wr_2'] = preg_replace("/[^0-9]/", "",$rows['wr_2']);
   $total_amount += $rows['wr_2'];
}

 

이렇게 했더니 결과물이 나오긴 하는데 이런 오류가 나오네요.

 

Warning: A non-numeric value encountered in /head.php on line 31

 

질문2> bbs1에 bbs2도 같이 검색하고 싶어요.

 

그래서 SELECT wr_2 FROM g5_write_bbs1 쿼리 뒤에 union SELECT wr_2 FROM g5_write_bbs2 이렇게 했는데 아무런 반응이...

 

두가지 잘문에 팁 좀 구할 수 있을까요?

이 질문에 댓글 쓰기 :

답변 3

질문1)

     . 디비의 형타입을 int 형으로 바꾸시든지

     . (int)$total_amount += (int)$rows['wr_2'];  이런식으로 하시든지

     . 상단에 $total_amount = 0; 으로 초기화를 해주시든지

     . warning 는 노출안되게 하시면됩니다

 

질문2) select a.wr_2 , b.wr_2 from g5_write_bbs1 as a inner join g5_write_bbs2 as b on a.wr_id = b.wr_id  의 형태로 하시면 됩니다

          

답변 너무 감사합니다.
질문1) 부분은 그런 선언이 필요하군요. 한수 배워갑니다.

질문2)에서 wr_id(글번호)가 같은것을 뽑는 것 같은데 wr_id와 상관없이 두 게시판의 wr_2를 뽑으려면 on a.wr_id = b.wr_id 부분을 빼면 될까요?

wr_id 상관없이 하시려면

union all 하시면 됩니다 

 

뒤에 비교 조건 빼시고요

wr_2 합계를 구하는 것이 목적이라면

g5_write_bbs2.wr_2, g5_write_bbs1.wr_2를 모두 int 타입으로 변경하시고

 

$query = sql_query("sELECT 'bb1s' bo_table, sum(wr_2) wr_2 FROM g5_write_bbs1 union

sELECT 'bb2s' bo_table, sum(wr_2) wr_2 FROM g5_write_bbs2 ");

하시면 됩니다.

2개의 보드에서 변수를 가져오는것이니 이를 구분하는 변수로 지정하는 셈인 듯 하네요.
그렇다면 while($rows = sql_fetch_array($query)) 를 하게 됐을때도
그냥 단순하게 $query로 날리면 안되겠네요?

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

회원로그인

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