form_send.php 에서 데이터를 데이터베이스로 보내고 싶은데 안보내져서요. 여기서 뭐가 잘못된 걸까요?
본문
form_send.php
$bo_table = "bmp";
$write_table = $g5['write_prefix'] . $bo_table;
$wr_num = get_next_num($write_table);
$wr_reply = "";
$secret = "secret";
$sql = " insert into $write_table
set wr_num = '$wr_num',
wr_reply = '$wr_reply',
wr_comment = 0,
ca_name = '$ca_name',
wr_option = '$html,$secret,$mail',
wr_subject = '$wr_subject',
wr_content = '$wr_content',
wr_link1 = '$wr_link1',
wr_link2 = '$wr_link2',
wr_link1_hit = 0,
wr_link2_hit = 0,
wr_hit = 0,
wr_good = 0,
wr_nogood = 0,
mb_id = '{$member['mb_id']}',
wr_password = '$wr_password',
wr_name = '$wr_name',
wr_email = '$wr_email',
wr_homepage = '$wr_homepage',
wr_datetime = '".G5_TIME_YMDHIS."',
wr_last = '".G5_TIME_YMDHIS."',
wr_ip = '{$_SERVER['REMOTE_ADDR']}',
wr_1 = '$wr_1',
wr_2 = '$wr_2',
wr_3 = '$wr_3',
wr_4 = '$wr_4',
wr_5 = '$wr_5',
wr_6 = '$wr_6',
wr_7 = '$wr_7',
wr_8 = '$wr_8',
wr_9 = '$wr_9',
wr_10 = '$wr_10' ";
sql_query($sql);
$wr_id = sql_insert_id();
// 부모 아이디에 UPDATE
sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");
// 새글 INSERT
sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$wr_id}', '{$wr_id}', '".G5_TIME_YMDHIS."', '{$member['mb_id']}' ) ");
// 게시글 1 증가
sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");
}
?>
들어가는 데이터는 wr_name , wr_1 , wr_2 , wr_3 , wr_datetime 이렇게 4가지를 form.php에서 4가지 항목을 보내면 form_send.php를 통해 데이터베이스로 저장이 되는건데
$sql = " insert into $write_table
이 문구를 봐서는 g5_write 테이블로 들어가는것 같아서 SQL에 g5_write 테이블을 만들었는데 데이터가 들어오질 않아서요. 그누보드는 form_send.php 에서 또 다른곳을 거쳐서 데이터베이스로 들어가는 구조인가요?
답변 4
게시판 생성은 이 부분을 보셔야 합니다.
$bo_table = "bmp";
그누보드 관리자 페이지 가서 bmp라는 id로 게시판을 만들어야겠죠.
sql_query($sql,true); 라고 바꿔보세요 그럼 에러같은거 생길거에요
저같은 경우는 sql_query($sql); 실행전줄에
$sql 값이 어케 보여지는지 실행해 봅니다.
echo $sql; die(); 이런식으로 일단 실행문이 잘들어오는지 틀린 문구는 없는지
우선 1차 추측은
form_send.php 에 데이터가 잘 들어오는지 확인해보셨을까요?
$_POST['wr_1'] 처럼 $_POST를 지켜줘야 하는 환경도 있어서요
두번째로 2차 추측은
저는 명령어 전에 디비연결로 common.php 를 인크루드 해옵니다.
이부분이 빠져서 문제인경우도 종종 있었습니다.
sql문을 직접 찍어 실행을 해서 phpMyAdmin이나 db 접속 프로그램으로 sql 구문을 돌려서 왜 등록이 안되는지 체크를 해보셔야 할듯 합니다.
컬럼명이나 해당 데이터의 항목이 맞지 않으면 안들어갈수 있습니다.