2009-12-07 5 views
0

나는 내 데이터베이스에서 일부 행을 계산하려면 나는 다음과 같은 코드를 사용하고 있습니다 : 나는 인 print_r ($ 결과)를 사용하는 경우SQL COUNT 함수가 mysqli 객체 대신 배열을 반환합니까?

   $tagname = Person; 
       $query = "SELECT COUNT(thread_tag_map.tag_id) AS tagcount 
         FROM tags, thread_tag_map 
         WHERE thread_tag_map.tag_id = tags.id 
         AND tags.name = '$tagname'"; 

       $result = $this->do_query($query); 


       return $result; 

그것은 연관 배열의 배열 ([tagcount] => 3)를 보여줍니다.

mysqli_fetch_assoc을 사용하여 추출해야하는 mysqli 객체가 아니어야합니까?

누군가 설명 할 수 있습니까?

+0

우리가 옳다고 생각하지 않는 $ this 객체의 do_query() 메소드를 사용하고 있다는 것을 알 수 있습니까? 우리가 당신을 돕기를 원한다면 어떤 프레임 워크/수업/우리에게 말해주십시오. – Lepidosteus

+0

이것이 mysqli 인 경우 쿼리가 준비된 문을 사용하지 않는 이유는 무엇입니까? 당신의 손목은 위의 코드로 잠재적 인 SQL 주입까지 자신을 열어 두어야합니다. – Cruachan

답변

0

Count는 숫자 만 반환하지만 SQL SELECT 문을 실행하면 행 집합과 같은 결과를 반환합니다. 즉, 각 열의 요소가있는 행 (사례 1) .

정확한 세부 정보는 사용중인 프로그래밍 언어에 따라 다릅니다.

+0

어떻게 nr을 반환하는 코드를 작성해야합니까? thread_tag_map.tag_id의 중복 행에 대한 카운트를 반환하고 싶습니다. –

+0

원칙적으로 : 결과 배열의 첫 번째 요소를 가져 와서 결합 배열에서 단일 값을 추출하십시오. 나는 당신이 사용하는 언어조차 모르기 때문에 정확한 구문에 대해 전혀 모른다. 이것은 새로운 좋은 질문이 될 것입니다. –