게시물 DB입력 문의 채택완료
안녕하세요
다른 곳에서 운영중인 그누보드에서
json 데이터로 수신해와서
별도로 또 게시물을 업로드 중인데요
DB에 입력은 잘되는데
게시물 번호를 생성을 못해서 인지
번호가 -1, -2 이렇게 나옵니다.. 삭제도 안됩니다. ㅠㅠ
소스는 아래와 같습니다.
Copy
// 게시물 업데이트
$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개
채택된 답변
+20 포인트
2년 전
Copy
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' ");
}
로그인 후 평가할 수 있습니다
답변에 대한 댓글 3개
�
그누배우자
2년 전
�
2년 전
$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줄은 삭제하셔야 합니다.
이후에 //번호 삽입
$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줄은 삭제하셔야 합니다.
�
그누배우자
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}'");
말씀해주신게 이게 맞는지요.
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}'");
말씀해주신게 이게 맞는지요.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
말씀해주신대로
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 셋다 정상적으로 올라옵니다.
뭐가 잘못된걸까요? ㅠㅠ