이전 목록 다음
채택완료

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

Copy
<?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개 / 댓글 5개

채택된 답변
+20 포인트
//메시지가 없다면 (오류가 없다면)
if(empty($msg)) {
    $result = $db_conn->query($sql);
    if( !$result) {          
         mysqli_connect_error();
    }
    //쿼리가 정상 실행 됐다면,

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

답변에 대한 댓글 2개

쿼리에러는 없는것으로 나오는데 php 버전문제인지..... 참 어렵네요...ㅋ
DB에는 추가가 되었나 한번 확인해 보세요.
$db_con이 어디서 받아 오나요?

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

답변에 대한 댓글 3개

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

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

[code]
<?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);
?>
[/code]
질문 본문에 있는 소스가 이 파일을 include하나요?

답변을 작성하려면 로그인이 필요합니다.