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 의 형태로 하시면 됩니다
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 ");
하시면 됩니다.