sql 카운트가 에러? 가 납니다. 채택완료
</p>
<p> $sql = "
select
mb_id,
mb_1,
mb_name,
mb_level, </p>
<p> count(*) as cnt
from {$g5['member_table']}
where mb_1 = '{$stx1}'
";</p>
<p>
count(*) as cnt 를 빼면 정상적인 값이 나오는데
count(*) as cnt 를 넣으면 값이 1개뿐이 안나오네요
개수를 세고 싶은데 count를 넣으면 값이 한개만 나옵니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
3년 전
</p>
<p><span class="token variable">$sql</span> <span class="token operator">=</span> <span class="token double-quoted-string string">" select mb_id, mb_1, mb_name, mb_level, count(*) as cnt from <span class="token interpolation"><span class="token punctuation">{</span><span class="token variable">$g5</span><span class="token punctuation">[</span><span class="token single-quoted-string string">'member_table'</span><span class="token punctuation">]</span><span class="token punctuation">}</span></span> where mb_1 = '<span class="token interpolation"><span class="token punctuation">{</span><span class="token variable">$stx1</span><span class="token punctuation">}</span></span>' "</span><span class="token punctuation">; </span></p>
<p> </p>
<p><span class="token punctuation"><--- </span>count를 쓰면 레코드를 여러개 가져오지않습니다</p>
<p><span class="token punctuation"> 이 경우 </span> mb_id, mb_1, mb_name, mb_level 이런 필드 추출은 아무 의미가 없습니다</p>
<p> 그냥 테이블에 등록 된 순서에서 조건에 맞는 맨 앞의 것을 가져옵니다</p>
<p> </p>
<p> 위의 쿼리문은 $row=sql_fetch($sql); 하면 $row['cnt'] = 10 하나만 나와야 됩니다</p>
<p> 조건이 $stx1인 것을 count 하는데 더 이상 무엇이 필요한가요?</p>
<p> 카운트와 조건에 맞는 레코드 전체를 구하려면 다음처럼 합니다</p>
<p> </p>
<p><span class="token variable">$sql</span> <span class="token operator">=</span> <span class="token double-quoted-string string">" select mb_id, mb_1, mb_name, mb_level from <span class="token interpolation"><span class="token punctuation">{</span><span class="token variable">$g5</span><span class="token punctuation">[</span><span class="token single-quoted-string string">'member_table'</span><span class="token punctuation">]</span><span class="token punctuation">}</span></span> where mb_1 = '<span class="token interpolation"><span class="token punctuation">{</span><span class="token variable">$stx1</span><span class="token punctuation">}</span></span>' "</span><span class="token punctuation">; </span></p>
<p>$qq =sql_query($sql);</p>
<p>$cnt = sql_num_rows($qq); //전체 갯수</p>
<p>while($row=sql_fetch($qq)) print_r($row);</p>
<p>
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
3년 전
갯수(회원명수)를 세면 당연히 숫자 하나만 나와야 하는 거 아닌가요?
어떤 갯수를 원하시는 건가요?
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
�
3년 전
�
3년 전
DBMS(mysql)의 당연한 결과입니다.
https://dreamlog.tistory.com/532
한번 살펴 보세요.
https://dreamlog.tistory.com/532
한번 살펴 보세요.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인전체 질문 목록
채택
채택
답변대기
답변대기
채택
채택
채택
채택
채택
채택
채택
채택
답변대기
채택
답변대기
답변대기
채택
채택
답변대기
채택
count(*) as cnt 를 넣으면 값이 1개만 나오고 있습니다.