로그인후 db변경질문입니다..

로그인후 db변경질문입니다..

QA

로그인후 db변경질문입니다..

본문

/bbs/db_table.optimize.php


이 파일은 로그인을 하게되면 거치는 파일이라고 알고 있습니다 


해서 그 파일속에 다음 코드를 넣었습니다.



$query = "select * from g5_write_note";
$result = sql_query($query);
$note = sql_fetch_array($result);
if ($note['wr_8'] < G5_TIME_YMD) {
 sql_query("update g5_write_note set wr_3 = '5'  where wr_3 = '1'or'2'or'3'or'4' ");
}


제가 생각한 것은 로그인을 하게 되면

오늘날짜가 $note['wr_8'] 값보다 크면 wr_3 = '1'or'2'or'3'or'4' 인값이


wr_3 = '5'  이렇게 바뀌어라 였는데 ㅠㅠ 오늘 로그인 했더니 바뀌지가 않네요.. 


if ($note['wr_8'] < G5_TIME_YMD) { 이 조건문을 


if ($note['wr_8'] > G5_TIME_YMD) { 이렇게 하면 바로 바뀌거든요 

제가 뭐 빼먹은 부분이 있나요? ㅠ.ㅠ 


제발 알려주세요



이 질문에 댓글 쓰기 :

답변 3


<?php
$query = "select * from g5_write_note";
$result = sql_query($query);
$note = sql_fetch_array($result);
if ($note['wr_8'] < G5_TIME_YMD) {
	//$note['wr_8'] 가 현재 시간보다 작다면 아래 쿼리 실행
 sql_query("update g5_write_note set wr_3 = '5'  where wr_3 = IN(1,4)");
}
?>

아니면 로그인 했을때 쿼리 돌려주면 될 것 같은데요 


sql_query("update g5_write_note set wr_3 = '5' where wr_3 = IN(1,4) AND wr_8 <'".G5_TIME_YMD."'");

$query = "select * from g5_write_note"; 

이 결과가 딱 1개의 행인지 부터 점검해 봐야 할 듯 싶구요

딱 하나의 행이라면

뭔가.. 로직이 잘못된 것 같은 느낌입니다


select 쿼리와 if 문 같은 비교없이 

무조건 업데이트 문장만 수행해도 될 것같은 느낌이랄까요?

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

회원로그인

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