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

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,543
QA 내용 검색

회원로그인

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