테스트 사이트 - 개발 중인 베타 버전입니다

sql 질문 하나 더 드립니다 ㅠㅠ 채택완료

brocolly 3년 전 조회 1,876

글 '수정시'

 

현재 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개

채택된 답변
+20 포인트
3년 전

1. 수정한 wr_15 업데이트

</p>

<p>UPDATE `테이블` SET `바꿀필드` = '바꿀값' WHERE `대상조건필드` = '기존값'</p>

<p>UPDATE g5_member SET mb_id = '{$wr_15}' WHERE `mb_id` = '{$member['mb_id']}'</p>

<p>-- 단 UNIQUE KEY 인 mb_id 는 그 값이 테이블 내에서 중복이있으면 안되므로 업데이트 실패상황 대비 필요.</p>

<p>

 

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

</p>

<p><?php</p>

<p>// common.php : $member 관련 부분 참조</p>

<p>// bbs/login_check.php : set_session 하는 부분 참조</p>

<p>set_session('ss_mb_id', $wr_15);</p>

<p>?></p>

<p>

로그인 후 평가할 수 있습니다

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

3년 전

 $sql3 = "update g5_member set mb_id = '$wr_15' where mb_id = '$write['mb_id']'";

로그인 후 평가할 수 있습니다

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

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

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

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

write_update.skin.php

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

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

로그인 후 평가할 수 있습니다

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

플래토
3년 전

g5_member의 
mb_id : 전화번호

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

라고 하셨는데

 

기록된 전화번호가 01011112222 라고 할경우

전화번호를 01033334444 로 변경한다고하면

넘어온값에 해당된느 wr_15를 

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

 

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

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

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

 

다시말해

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

g5_write_게시물 테이블의 작성자 mb_id의 값이 '01011112222' 로 들어있는경우

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% 그대로 사용하실것이 아니라. 예를 들어설명드린것이기때문에

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

 

로그인 후 평가할 수 있습니다

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

독구파랑

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

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

 

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

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

독구파랑
3년 전
기존에 전화번호로 아이디가 등록되어 있었으면
$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를 가져오는 시기는 게시물이 업데이트 되기 전입니다.

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

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

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

--

수정시

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

==>

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

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

b
brocolly
3년 전
답변감사합니다.

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

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

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

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

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

로그인