ㅎㅎ 오랜만에 하다보니..--;; 정보
ㅎㅎ 오랜만에 하다보니..--;;
본문
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 입니다.";
}
}
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 입니다.";
}
}
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]'");
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
0
댓글 4개

위 코드말고 더 깔끔한 방법이 있다면 어떻게 하면 좋을까요?

select `Ismb_id` from `테이블명` where `Ismb_id` = '$_POST[id]' 이거의 결과값이 있는지 확인하는 것보다 count()를 이용하는 게 더 빠른가요?

제 생각에는 count()가 빠를것같아요 Ismb_id컬럼을 선택하면 그컬럼의 데이터를 모두 읽어야하기때문에 db양이 늘어나는 만큼 부하가 걸릴것같아요.. 머 금방 끝나겠지만 count()에 비해서는 많이 차이날것같은데요..
echo $count[0] ? '이미 존재하는 ID 입니다.' : '사용해도 되는 ID 입니다.';