여러줄 쿼리가 께지는 현상

여러줄 쿼리가 께지는 현상

QA

여러줄 쿼리가 께지는 현상

답변 1

본문

안녕하세요. 그누보드 초보입니다. 

제가 운영중인 서버를 이전하였습니다.

그누보드 버전은 5.2.1 

서버는 centos 7.4이고 

서버를 이전하면서 아파치는 2.4.6 그대로이고

php 7.0.30 과 mariadb 10.3.7로 버전을 좀 높였습니다.  

yum으로 설치 하였고 설정은 기본 설정입니다. 

서버 이전후 그누보드 쿼리를 제대로 인식 못하는 오류가 발생 하였습니다. 

1. 여러줄 쿼리 인식 못함 

아래와 같은 쿼리를 

// 게시판 정보

$sql = " insert into {$g5['board_table']}
            set bo_table = '$target_table',
                gr_id = '{$board['gr_id']}',
                bo_subject = '$target_subject',
                bo_device = '{$board['bo_device']}',
                 ...
                bo_10 = '".addslashes($board['bo_10'])."' "; 

실제 mariadb 쿼리에 들어오는것은 

insert into g5_tablename 

처럼 한줄만 들어옵니다. 

일단 저 쿼리를 다 한줄로 바꿔 긴급 대응은하였습니다만

linux 환경이 문제인지 php 설정이 찾지를 못하고 있습니다. 

 

2. Mariadb - default value 문제 

쿼리를 변경하여 정상적으로 쿼리가 들어와도 몇몇 쿼리에서 문제가 발생 합니다. 

그누보드가 생성한 테이블이 기본적으로 모든 필드가 not null로 설정이 되어있고 

생성된 게시판의 varchar 필드들이 default '' 이것이 빠져있어 에러가 발생하며. 

또한 기존 insert 쿼리 문에 정의 되지 않은 필드들도 있어 또한 에러가 발생하고 있습니다. 

ex> mb_memo <text> 필드는 insert 쿼리 문에 정의가 되어있지 않아 에러 발생

 

위의 두가지 문제에 대해 아시는 분의 조언을 기다려 봅니다. 

감사합니다.

 

 

 

 

이 질문에 댓글 쓰기 :

답변 1

일단 저렇게 하는거 보다는


$sql  = " insert into {$g5['board_table']} \n";
$sql .= "         set bo_table = '$target_table', \n";
   ...

이렇게 하는게 일반적이죠 ^^

두번째는 table 스키마를 변경해서 default value 를 넣으면 되지 않나요?

나시님 답변 감사합니다.
알려주신것처럼 소스에서의 처리와 DB 처리는 이미 하였습니다.
다만 그누보드 기본 소스에 sql를 저렇게 처리 하였고
이전에는 문제 없었기에 혹시 설정에서 처리가 가능한가 하여 질문을 올린것입니다.
insert문 및 update문이 20여 페이지에 걸쳐 있어서 혹시나 실수가 있을까해서
설정이 있다면 변경 해 놓으려고요...
신경 써 주셔서 다시 한번 감사드립니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 125,873
© SIRSOFT
현재 페이지 제일 처음으로