sql 질문 하나 더 드립니다 ㅠㅠ

sql 질문 하나 더 드립니다 ㅠㅠ

QA

sql 질문 하나 더 드립니다 ㅠㅠ

본문

글 '수정시'

 

현재 wr_15의 값이 정상적으로 변경되고 있습니다.

 

 

g5_member  테이블에서 mb_id 값을 wr_15 로 받아서 등록하고 있습니다.

 

수정시

write_update.skin.php 에서 g5_member 테이블의 값도 함께 변경하는 쿼리문을 알고 싶습니다.

 

if($w == u){
    $sql3 = "update g5_member set mb_id = '$wr_15' where mb_id = '$wr_15'";
    sql_query($sql3);
}

 

지금은 이런식으로 해봤는데 동작을 안하네요..

where 부분에서 공통되는 부분이 mb_id 라서 이게 같은 값을 찾아서 변경해주고 싶습니다.

이 질문에 댓글 쓰기 :

답변 6

1. 수정한 wr_15 업데이트


UPDATE `테이블` SET `바꿀필드` = '바꿀값' WHERE `대상조건필드` = '기존값'
UPDATE g5_member SET mb_id = '{$wr_15}' WHERE `mb_id` = '{$member['mb_id']}'
-- 단 UNIQUE KEY 인 mb_id 는 그 값이 테이블 내에서 중복이있으면 안되므로 업데이트 실패상황 대비 필요.

 

2. 쿼리부 정상처리 확인 후 세션 수정 


<?php
// common.php : $member 관련 부분 참조
// bbs/login_check.php : set_session 하는 부분 참조
set_session('ss_mb_id', $wr_15);
?>

앞뒤 내용이 있으면 좀 쉬울 텐데요.

    $sql3 = "update g5_member set mb_id = '$wr_15' where mb_id = '$wr_15'";
이건 아무 의미없는 query입니다.

--

수정시

write_update.skin.php 에서 g5_member 테이블의 값도 함께 변경하는 쿼리문을 알고 싶습니다.

==>

g5_member의 어떤 컬럼의 값을 바꾼다는 것일까요?

 

답변감사합니다.

게시판 wr_15 항목에 전화번호를 받고 있습니다.
최초 글 등록시 g5_member 테이블에도 같이 등록이 되구요,
mb_id 컬럼에 wr_15를 받아와서 전화번호를 아이디로 쓰고 있습니다.

글 수정시 (보통 전화번호 수정입니다.) 해당 게시글의 wr_15는 바로 변경이 되지만
g5_member 에서 mb_id 도 함께 바껴야 해당 아이디로 로그인이 가능해집니다.

고로 글 수정시 g5_member 테이블의 mb_id 컬럼 값을 wr_15로 업데이트 해주고 싶습니다.

기존의 mb_id의 값을 알고 있어야 정상적으로 수정이 될 것 같습니다.

$sql3 = "update g5_member set mb_id='".$wr_15."' where mb_id='".$기존의 mb_id."'";

 

이렇게 되어야 정상적으로 동작됩니다.

 

wr_id 처럼 고정적인 값이 아니다보니 기존의 mb_id를 가져오긴 힘들고
wr_name을 공통으로 사용하는데, 이 값으로는 변경이 안될까요?
wr_name은 수정할 수 없는 값입니다. (한글로 입력)

기존에 전화번호로 아이디가 등록되어 있었으면
$tmp_sql = "select wr_15 from 게시판테이블 where wr_id='".$wr['wr_id']."'";
$tmp = sql_fetch($tmp_sql);
$sql3 = "update g5_member set mb_id='".$wr_15."' where mb_id='".$tmp['wr_15']."'";
의 형태로 기존 wr_15를 가져와서 검토해서 수정하면 될 것 같습니다.
물론 wr_15를 가져오는 시기는 게시물이 업데이트 되기 전입니다.

g5_member의 
mb_id : 전화번호

게시판테이블의 wr_15 : 전화번호

라고 하셨는데

 

기록된 전화번호가 *** 개인정보보호를 위한 휴대폰번호 노출방지 *** 라고 할경우

전화번호를 *** 개인정보보호를 위한 휴대폰번호 노출방지 *** 로 변경한다고하면

넘어온값에 해당된느 wr_15를 

기존에 mb_id와 비교할값이 where 의 mb_id = '비교할값' 으로 되어야합니다.

 

변경할값인 wr_15로 아무리 비교해서 mb_id에 넣는다고 해도

g5_member에 들어있는 mb_id는 존재할경우 동일한 ID로 넣는것이라서 

변경은 하지만 변화가 없습니다.

 

다시말해

기존 게시물을 작성한 ID값이

g5_write_게시물 테이블의 작성자 mb_id의 값이 '*** 개인정보보호를 위한 휴대폰번호 노출방지 ***' 로 들어있는경우

g5_member의 mb_id 값을 g5_write_게시물의 wr_15 가 변경된 값으로 바꾸고 싶으시다는것으로 이해하고 다시 설명을 드리면

 

write_update.skin.php파일에서

이 시점은 위의 게시물을 이미 변경한 시점이되기때문에

$write['mb_id']에는 기존 ID가 들어있을것이고

$write['wr_15'] 에는 작성자가 수정한 전화번호가 들어가게되겠죠

(위의 내용이 아니라면 $write가 아니더라도 form으로 넘기는 값을 확인해보세요)

 

위 내용이라고 가정하고

 

$sql = "update g5_member set mb_id = '{$write['wr_15']}' where mb_id ='{$write['mb_id']}' ";

sql_query($sql);

 

이 됩니다.

 

이 답변이 100% 그대로 사용하실것이 아니라. 예를 들어설명드린것이기때문에

맞는지 체크하면서 수정/활용하세요

 

글을 등록?하면 자동?으로 회원 가입이 되는 기능이 있나 봅니다.

글을 수정하려면 로그인 상태?여야 할 테고

그 상태에서 글을 수정한다고 하면

write_update.skin.php

   $sql3 = "update g5_member set mb_id = '$wr_15' where mb_id = '{$member['mb_id']}'";

   이후 세션 변수(아이디 등) 도 변경해 주어야 합니다.

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

회원로그인

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