여러줄 쿼리가 께지는 현상
본문
안녕하세요. 그누보드 초보입니다.
제가 운영중인 서버를 이전하였습니다.
그누보드 버전은 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 를 넣으면 되지 않나요?
!-->