ㅎㅎ 오랜만에 하다보니..--;; > 자유게시판

자유게시판

ㅎㅎ 오랜만에 하다보니..--;; 정보

ㅎㅎ 오랜만에 하다보니..--;;

본문

if($_POST[check] == "id"){
 
 if($_POST[id]){
   $result = ls_select("ls_member","*","where lsmb_id = '$_POST[id]'"); 
   if(mysql_affected_rows() == 0){
     echo "사용해도 되는 ID 입니다.";
    }else{
     echo "이미 존재하는 ID 입니다.";
    }
 }

 
위 코드는 단순히 * 또는 아무 행이나 검색해서 검색된 수를mysql_affected_rows()  이것으로 결과수를 뽑을 수 있습니다.
 
하지만 *또는 행의 데이터를 가져오는것은 db의 부담이 되기떄문에
 
count(*)을 써야합니다.
 
 
if($_POST[check] == "id"){
 
 if($_POST[id]){
   $result = ls_select("ls_member","count(*)","where lsmb_id = '$_POST[id]'"); 
   if(mysql_affected_rows() == 0){
     echo "사용해도 되는 ID 입니다.";
    }else{
     echo "이미 존재하는 ID 입니다.";
    }
 }
 
이상태에서는 정상적으로 작동하지 않습니다. mysql_affected_rows() 이것이 제대로 안먹히나 봅니다. 이유는 잘모름
 
그럼 이것을 해결할려면
 
if($_POST[check] == "id"){
 
 if($_POST[id]){
   $result = ls_select("ls_member","count(*)","where lsmb_id = '$_POST[id]'"); 
   $count = mysql_fetch_row($result );

   if($count[0]== 0){
     echo "사용해도 되는 ID 입니다.";
    }else{
     echo "이미 존재하는 ID 입니다.";
    }
 }
 
이렇게 해야됩니다.
 
위 두개의 코드중 어떤게 더 보기 좋을까요?
추천
0

댓글 4개

select `Ismb_id` from `테이블명` where `Ismb_id` = '$_POST[id]' 이거의 결과값이 있는지 확인하는 것보다 count()를 이용하는 게 더 빠른가요?
제 생각에는 count()가 빠를것같아요 Ismb_id컬럼을 선택하면 그컬럼의 데이터를 모두 읽어야하기때문에 db양이 늘어나는 만큼 부하가 걸릴것같아요.. 머 금방 끝나겠지만 count()에 비해서는 많이 차이날것같은데요..
전체 265 |RSS
자유게시판 내용 검색

회원로그인

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