sql 카운트가 에러? 가 납니다. 채택완료
메르시아
3년 전
조회 1,398
</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>
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
count(*) as cnt 를 넣으면 값이 1개만 나오고 있습니다.