게시물 DB입력 문의

게시물 DB입력 문의

QA

게시물 DB입력 문의

본문

안녕하세요

다른 곳에서 운영중인 그누보드에서

json 데이터로 수신해와서

별도로 또 게시물을 업로드 중인데요

 

DB에 입력은 잘되는데

게시물 번호를 생성을 못해서 인지

번호가 -1, -2 이렇게 나옵니다.. 삭제도 안됩니다. ㅠㅠ

 

소스는 아래와 같습니다.

 


// 게시물 업데이트
$sql = "INSERT INTO g5_write_test (wr_subject, wr_name, wr_1, wr_2, wr_3, wr_4, wr_5, wr_6, wr_7, wr_8, wr_9, wr_10, wr_content)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
$stmt = $db->prepare($sql);
if ($stmt) {
    $stmt->bind_param("sssssssssssss", $wr_subject, $wr_name, $wr_1, $wr_2, $wr_3, $wr_4, $wr_5, $wr_6, $wr_7, $wr_8, $wr_9, $wr_10, $wr_content);
    if ($stmt->execute()) {
        $stmt->close();
        $db->close();
        echo '데이터가 성공적으로 입력되었습니다.';
    } else {
        echo '데이터 삽입 실패: ' . $stmt->error;
    }
} else {
    echo '쿼리 준비 실패: ' . $db->error;
}
} else {
    echo '데이터 수신 실패: 잘못된 데이터 형식';
}

 

 

sql_insert_id(); 함수를 이용하면 된다고 하는데

어떻게 넣는지 잘 모르겠습니다. ㅠ

 

고수님들의 도움 부탁드립니다.....

이 질문에 댓글 쓰기 :

답변 1


if($stmt->excute()) {
    $wr_id = sql_insert_id();
    //write_update.php 300 line 이하 참조
    sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");
}

감사합니다.
말씀해주신대로
 

if ($stmt->execute()) {

// 번호 삽입
$sql = "insert into $write_table set wr_num = " . ($w == 'r' ? "'$wr_num'" : "(SELECT IFNULL(MIN(wr_num) - 1, -1) FROM $write_table sq) ") ." ";

sql_query($sql);

$wr_id = sql_insert_id();

sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");

sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");

이렇게 했더니 DB에 게시물이 두개가 올라옵니다.
한개는 wr_id값만 들어오고 (완전 빈 게시물..)
한개는 wr_id , wr_num, wr_parent 셋다 정상적으로 올라옵니다.

뭐가 잘못된걸까요? ㅠㅠ

$stmt->excute()
이후에 //번호 삽입
$sql = "insert into $write_table set wr_num = " . ($w == 'r' ? "'$wr_num'" : "(SELECT IFNULL(MIN(wr_num) - 1, -1) FROM $write_table sq) ") ." ";

sql_query($sql); 
위 2줄은 삭제하셔야 합니다.

감사합니다.

if ($stmt->execute()) {

$wr_id = sql_insert_id();

sql_query("update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");

sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");



말씀해주신게 이게 맞는지요.

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

회원로그인

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