insert 관련 sql 쿼리 문법 오류

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
insert 관련 sql 쿼리 문법 오류

QA

insert 관련 sql 쿼리 문법 오류

본문

안녕하세요.
post.php 정보 입력 후 post_updata.php 페이지에서 db 값을 입력할려고 합니다.

tk_ea 테이블을 추가했습니다.  tk_ea 빼면 정상적으로 나오던 소스입니다.
tk_ea 테이블 추가 하면서 무얼 잘못했는지 모르겠는데 추가되지 않습니다.  너무 몰라서 죄송합니다 

 

 post.php
<?php
include_once('./_common.php');
// 권한체크
if(!$is_admin) { 
    $current_urls = get_current_urls();
    check_user_permissions($current_urls, $member['mb_id']);
}
//테이블이 있는지 검사한다.
if(!sql_query(" DESCRIBE g5_position3 ", false)) {
       $query_cp2 = sql_query(" CREATE TABLE IF NOT EXISTS `g5_position3` (
        `tk_id` int(11) NOT NULL AUTO_INCREMENT,
        `tk_num` int(11) NOT NULL COMMENT '정렬순서',
        `tk_ea` int(15) NOT NULL COMMENT '연차개수',
        `tk_name` varchar(255) NOT NULL COMMENT '직원명', 
        PRIMARY KEY (`tk_id`) 
      ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ", true);
}

$g5['title'] = '직원명부(연차) 설정';
include_once(G5_PATH.'/intranet/head.php');
$where = " where tk_id != '' and ";
$sql_common = " from g5_position3 ";
$sql_is  = " select * $sql_common order by tk_num desc ";
$result_is = sql_query($sql_is);
?>
<div class="body_tit_box font-naver-EB mb-30">
    <ul class="body_tit"><?php echo $g5['title'] ?></ul>
    <div class="cb"></div>
</div>
<form name="fitemqalist" method="post" action="./set_position3_update.php" onsubmit="return fitemqalist_submit(this);" autocomplete="off">
<div class="fl70">
<div class="talbes_wrap" id="bo_list">
    <div class="tables_div">
        <div class="">
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
                <thead>
                    <tr>
                        <th nowrap="" class="tb_chkbox">
                            <input type="checkbox" name="chkall" class="magic-checkbox" value="1" id="chkall" onclick="check_all(this.form)">
                            <label for="chkall" class=""></label>
                        </th>
                        <th scope="col">직원명</th>
                        <th scope="col">연차개수</th>
                        <th scope="col">정렬순서</th>
                    </tr>
                </thead>
                <tbody>
                    <?php
                    for ($i=0; $rowss=sql_fetch_array($result_is); $i++) {
                        $bg = 'bg'.($i%2);
                     ?>
                    <tr>
                        <td nowrap>
                            
                            <input type="checkbox" name="chk[]" class="magic-checkbox" value="<?php echo $i ?>" id="chk_<?php echo $i; ?>">
                            <label for="chk_<?php echo $i; ?>"></label>
                            <input type="hidden" name="tk_id[<?php echo $i; ?>]" value="<?php echo $rowss['tk_id']; ?>">
                        </td>
                        
                        <td nowrap class="tb_inps">
                            <input type="text" name="tk_name[<?php echo $i; ?>]" value="<?php echo $rowss['tk_name'] ?>" id="tk_name_<?php echo $i; ?>" required class="tb_inps_inp">
                        </td>
                         <td nowrap class="tb_inps">
                            <input type="text" name="tk_ea[<?php echo $i; ?>]" value="<?php echo $rowss['tk_ea'] ?>" id="tk_ea_<?php echo $i; ?>" required class="tb_inps_inp">
                        </td>
                        <td nowrap class="tb_inps">
                            <input type="text" name="tk_num[<?php echo $i; ?>]" value="<?php echo $rowss['tk_num'] ?>" id="tk_num_<?php echo $i; ?>" required class="tb_inps_inp">
                         </td>
                        
                    </tr>
                    
                    <?php
                    }
                    if ($i == 0) {
                            echo '<tr><td colspan="3" class="empty_table"><span>데이터가 없습니다.</span></td></tr>';
                    }
                    ?>
                </tbody>
            </table>
        </div>
    </div>
    <div class="tables_div_tail">
        <ul class="op_left paging_mobile_mb">
        </ul>
        <ul class="op_right op_right_not">
            <button type="submit" name="act_button" value="전체삭제" onclick="document.pressed=this.value" class="top_opt_btn">전체삭제</button>
            <button type="submit" name="act_button" value="선택삭제" onclick="document.pressed=this.value" class="top_opt_btn">선택삭제</button>
            <button type="submit" name="act_button" value="선택수정" onclick="document.pressed=this.value" class="top_opt_btn">선택수정</button>
        </ul>
        <div class="cb"></div>
    </div>
</div>
</div>
</form>

<script>
    
function check_all(f)
{
    var chk = document.getElementsByName("chk[]");
    for (i=0; i<chk.length; i++)
        chk[i].checked = f.chkall.checked;
}
    
function is_checked(elements_name)
{
    var checked = false;
    var chk = document.getElementsByName(elements_name);
    for (var i=0; i<chk.length; i++) {
        if (chk[i].checked) {
            checked = true;
        }
    }
    return checked;
}
    
function fitemqalist_submit(f)
{
    
    if(document.pressed == "선택수정") {
        if (!is_checked("chk[]")) {
            alert(document.pressed+" 하실 항목을 하나 이상 선택하세요.");
            return false;
        }
    }
    
    if(document.pressed == "선택삭제") {
        if (!is_checked("chk[]")) {
            alert(document.pressed+" 하실 항목을 하나 이상 선택하세요.");
            return false;
        }
    }
    if(document.pressed  == "선택삭제") {
        if(!confirm("선택한 자료를 정말 삭제하시겠습니까?")) {
            return false;
        }
    }
    
    if(document.pressed  == "전체삭제") {
        if(!confirm("전체 데이터를 삭제하시겠습니까?\n삭제된 데이터는 복구되지 않습니다.")) {
            return false;
        }
    }
    return true;
}

</script>

<form name="seo_form" id="seo_form" action="./set_position3_update.php" method="post" enctype="multipart/form-data">
<div class="fr30">
    <div class="view_wraps view_wraps_bbs respons data_tables view_wraps_not">
    
    <div class="">
        <table cellspacing="0" cellpadding="0">
            <colgroup>
                <col width="30%">
                <col width="70%">
            </colgroup>
            <tr>
                <th colspan="4" class="po_rel">
                직원명 추가
                </th>
            </tr>
            
            
            <tr>
                <td class="text-center bg_tr">직원명</td>
                <td class="tb_inps"><input type="text" name="tk_name" value="" id="tk_name" class="tb_inps_inp text-left" placeholder="직원명" required></td>
            </tr>
            <tr>
                <td class="text-center bg_tr">연차</td>
                <td class="tb_inps"><input type="text" name="tk_ea" value="" id="tk_ea" class="tb_inps_inp text-left" placeholder="연차(숫자)" required></td>
            </tr>
            <tr>
                <td class="text-center bg_tr">정렬순서</td>
                <td class="tb_inps"><input type="number" name="tk_num" value="" id="tk_num" class="tb_inps_inp text-left" placeholder="정렬순서(숫자)"></td>
            </tr>

        </table>
    </div>
    </div>
    
    <div class="view_btm_btns popup_view_btm_btns">
        <ul class="">
            <button type="submit" accesskey="s" class="top_opt_btn on">추가</button>
        </ul>
        <div class="cb"></div>
    </div>
</div>
</form>
    
<?php
include_once(G5_PATH.'/intranet/tail.php');

 

 post_updata.php
<?php
include_once('./_common.php');
if ($_POST['act_button'] == "선택삭제") {
    
    $count_post_chk = (isset($_POST['chk']) && is_array($_POST['chk'])) ? count($_POST['chk']) : 0;
    if (! $count_post_chk) {
        alert($_POST['act_button']." 하실 항목을 하나 이상 체크하세요.");
    }
    for ($i = 0; $i < $count_post_chk; $i++) {
        // 실제 번호를 넘김
        $k = isset($_POST['chk'][$i]) ? (int) $_POST['chk'][$i] : 0;
        $itk_id = isset($_POST['tk_id'][$k]) ? (int) $_POST['tk_id'][$k] : 0;
        // 삭제
        sql_query("DELETE FROM g5_position3 WHERE tk_id = '{$itk_id}'");
        
    }
    
} else if ($_POST['act_button'] == "전체삭제") {
        // 삭제
        sql_query(" DELETE FROM g5_position3 ");
        alert('전체 데이터가 삭제 되었습니다.');
    
} else if ($_POST['act_button'] == "선택수정") {
    
        $count_post_chk = (isset($_POST['chk']) && is_array($_POST['chk'])) ? count($_POST['chk']) : 0;
        if (! $count_post_chk) {
            alert($_POST['act_button']." 하실 항목을 하나 이상 체크하세요.");
        }
        for ($i = 0; $i < $count_post_chk; $i++) {
            // 실제 번호를 넘김
            $k = isset($_POST['chk'][$i]) ? (int) $_POST['chk'][$i] : 0;
            $itk_id = isset($_POST['tk_id'][$k]) ? (int) $_POST['tk_id'][$k] : 0;
            $itk_name = isset($_POST['tk_name'][$k]) ? $_POST['tk_name'][$k] : '';
            $itk_num = isset($_POST['tk_num'][$k]) ? (int) $_POST['tk_num'][$k] : '0';
            $itk_ea = isset($_POST['tk_ea'][$k]) ? (int) $_POST['tk_ea'][$k] : '0';
            // 삭제
            sql_query("UPDATE g5_position3 SET tk_name = '{$itk_name}', tk_num = '{$itk_num}'  , tk_ea = '{$itk_ea}'  WHERE tk_id = '{$itk_id}'");
        }
    
} else { 
    
        $sql = "INSERT INTO g5_position3 SET tk_name = '{$_POST['tk_name']}', {$_POST['tk_ea']}', tk_num = '{$_POST['tk_num']}' ";
        sql_query($sql);
    
}
goto_url("./set_position3.php");

이 질문에 댓글 쓰기 :

답변 3

action="./set_position3_update.php" <==이렇게 되어잇는데 post_updata.php에서 처리 한다니 맞지않습니다

insert코드에서 필드명을 tk_name, tk_num 처럼 tk_ea를 넣어주어야 합니다

 tk_name = '{$_POST['tk_name']}', {$_POST['tk_ea']}', tk_num = '{$_POST['tk_num']}' 

==>

 tk_name = '{$_POST['tk_name']}', tk_ea='{$_POST['tk_ea']}', tk_num = '{$_POST['tk_num']}' 

$sql = "INSERT INTO g5_position3 SET tk_name = '{$_POST['tk_name']}', {$_POST['tk_ea']}', tk_num = '{$_POST['tk_num']}' ";

   

insert쿼리중에 tk_ea앞에 ' 위 따옴표가 빠져있으니 추가해 주세요

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

회원로그인

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