PHP Mssql 질문드립니다.

2019-10-20 (일) 12:37:14 2,777

3529981170_1571542407.7695.png

위에서 값을 받아옵니다.

$MEM_Character_Nickname = $_POST['mb_character_Nickname'];

<?php

    include_once('./_common.php');

  $conn = mssql_connect("아이피", "계정", "비밀번호") or die("Error Code:1");
    mssql_select_db( "디비명", $conn );

    $query_result1 = '';
    $query_result2 = mssql_query ("select 이름 from 테이블명 where 이름='".ICONV("UTF-8","EUC-KR",$MEM_Character_Nickname)."'", $conn);
    $row = mssql_fetch_assoc($query_result2);
        
    $MEM_Id = $member['mb_id'];
    $MEM_Point = $member['mb_point'];
    $MEM_Character = $_POST['mb_character'];
    
    // 닉네임 변경 시스템 추가 관련
    $MEM_Character_Nickname = $_POST['mb_character_Nickname'];

            
    if($MEM_Id == '' || $MEM_Character == ''){
        alert('로그인을 하시기 바랍니다.');
    }    
    
    IF($MEM_Character_Nickname =='') {
        alert('변경할 닉네임을 입력하지 않았습니다.\n\n닉네임을 입력해 주시기 바랍니다.');
    } ELSE IF($MEM_Character_Nickname == $MEM_Character) {
        alert('변경하려고 선택한 닉네임과 중복됩니다.\n\n다른 닉네임을 사용해주시기 바랍니다.');
    } ELSE IF($MEM_Character_Nickname == $row['이름']){
        alert('현재 닉네임은 사용중입니다.');
    }
    
    if($MEM_Point < $ITM_Price){
        alert(($ITM_Price-$MEM_Point).'포인트가 부족하여 닉네임을 변경할 수 없습니다.');
    }

이하생략...

    mssql_close($conn);

?>

ELSE IF($MEM_Character_Nickname == $row['이름']){
        alert('현재 닉네임은 사용중입니다.');
    }

이부분에서 알림창을 띄우게 하고 싶은데 초보라서 계속 오류가 나네요. 

고수님들 도와주십시요 OTL...

3529981170_1571542747.4129.png

알림창을 띄우질 않아서 위에서 처럼 페이지 오류납니다. 닉네임은 PK라서 중복으로 업데이트는 안되지만 다른 부분에서 PK가 아니라서 중복된 닉네임으로 그냥 업데이트 되버리더라구용 ㅜㅜ

|

답변 2개 / 댓글 1개

Pk가 이름이 아니라 Primary Key 입니다. 이미 존재하는값이기 때문에 오류가나는것입니다. 저오류가 안나오게 값을 체크해서 알림창으로 띄우려고 하는것이고요. 그게 안되서 질문드리는거에요.T.T

답변에 대한 댓글 1개

네 '이름'이 'Primary Key'인지 여쭤본 것입니다.

$MEM_Character_Nickname == $row['이름']
이 부분에서 해당 값들이 정상출력되는지 먼저 찍어보시는게 우선이네요

echo $MEM_Character_Nickname . " = " .$row['이름'];
exit;

이름이 PK인가요?

캐릭터셋 문제같은데.. 소스 파일 캐릭터셋도 살펴보셔요

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