mysql로 게시판을 임시로 제작을 해보았는데 글등록 오류

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
mysql로 게시판을 임시로 제작을 해보았는데 글등록 오류

QA

mysql로 게시판을 임시로 제작을 해보았는데 글등록 오류

본문


<?php
    require_once("../data/dbconfig.php");
    //$_POST['bno']이 있을 때만 $bno 선언
    if(isset($_POST['bno'])) {
        $bNo = $_POST['bno'];
    }
    //bno이 없다면(글 쓰기라면) 변수 선언
    if(empty($bNo)) {
        $bID = $_POST['bID'];
        $date = date('Y-m-d H:i:s');
    }
    //항상 변수 선언
    $bPassword = $_POST['bPassword'];
    $bTitle = $_POST['bTitle'];
    $bContent = $_POST['bContent'];
//글 수정
if(isset($bNo)) {
    //수정 할 글의 비밀번호가 입력된 비밀번호와 맞는지 체크
    $sql = 'select count(b_password) as cnt from board_free where b_password=password("' . $bPassword . '") and b_no = ' . $bNo;
    $result = $db_conn->query($sql);
    $row = $result->fetch_assoc();
    
    //비밀번호가 맞다면 업데이트 쿼리 작성
    if($row['cnt']) {
        $sql = 'update board_free set b_title="' . $bTitle . '", b_content="' . $bContent . '" where b_no = ' . $bNo;
        $msgState = '수정';
    //틀리다면 메시지 출력 후 이전화면으로
    } else {
        $msg = '비밀번호가 맞지 않습니다.';
    ?>
        <script>
            alert("<?php echo $msg?>");
            history.back();
        </script>
    <?php
        exit;
    }
    
//글 등록
} else {
    $sql = 'insert into board_free (b_no, b_title, b_content, b_date, b_hit, b_id, b_password) values(null, "' . $bTitle . '", "' . $bContent . '", "' . $date . '", 0, "' . $bID . '", password("' . $bPassword . '"))';
    $msgState = '등록';
}
//메시지가 없다면 (오류가 없다면)
if(empty($msg)) {
    $result = $db_conn->query($sql);
    
    //쿼리가 정상 실행 됐다면,
    if($result) {
        $msg = '정상적으로 글이 ' . $msgState . '되었습니다.';
        if(empty($bNo)) {
            $bNo = $db_conn->insert_id;
        }
        $replaceURL = './view.php?bno=' . $bNo;
    } else {
        $msg = '글을 ' . $msgState . '하지 못했습니다.';
?>
        <script>
            alert("<?php echo $msg?>");
            history.back();
        </script>
<?php
        exit;
    }
}
?>
<script>
    alert("<?php echo $msg?>");
    location.replace("<?php echo $replaceURL?>");
</script>

 

게시판을 제작해 보았는데, 글을 등록하지 못했다고 계속 뜨는 상태여서요....

 

혹시 코드상에 문제가 있는걸까요?

 

처음에 mysqli쿼리를 dbconfig에서 못찾아서, daconfig.php에서 mysqli_close($db_conn); 이부분을 주석처리한 상태입니다.

 

질문이 어찌보면 광범위할 수 있는데, 가늠이라도 잡기위해 질문을 드려봅니다.

이 질문에 댓글 쓰기 :

답변 2

//메시지가 없다면 (오류가 없다면)
if(empty($msg)) {
    $result = $db_conn->query($sql);
    if( !$result) {          
         mysqli_connect_error();
    }
    //쿼리가 정상 실행 됐다면,

추가해서 query 문에 에러가 있는지 확인해 보세요.

$db_con이 어디서 받아 오나요?

우선은 mysqli_query()문 에러 메시지를 출력해 보세요.

require_once("../data/dbconfig.php");

여기서 불러와지고 있습니다.


<?php
header('Content-Type: text/html; charset=UTF-8');

$db_conn = mysqli_connect("localhost", "아이디", "비밀번호", "DB");
if (!$db_conn) {
    $error = mysqli_connect_error();
    $errno = mysqli_connect_errno();
    print "$errno: $error\n";
    exit();
}
//mysqli_close($db_conn);
?>

답변을 작성하시기 전에 로그인 해주세요.
전체 1

회원로그인

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