> 백엔드 개발 > PHP 튜토리얼 > MySQLi의 `query()` 메소드가 `COUNT(*)`를 사용할 때 예상치 못한 행 수를 반환하는 이유는 무엇입니까?

MySQLi의 `query()` 메소드가 `COUNT(*)`를 사용할 때 예상치 못한 행 수를 반환하는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-11-07 06:55:03
원래의
657명이 탐색했습니다.

Why Does MySQLi's `query()` Method Return an Unexpected Row Count When Using `COUNT(*)`?

MySQLi의 쿼리 방법에서 예상치 못한 행 개수가 발생함

COUNT(*) 함수를 사용하여 MySQL 테이블의 행 개수를 검색하려고 할 때 MySQLi 객체의 query() 메서드를 사용하면 반환된 행 수가 항상 1인 예기치 않은 결과가 발생할 수 있습니다. 이는 phpMyAdmin과 같은 도구를 사용하여 동일한 쿼리를 실행할 때 올바른 결과와 다를 수 있습니다.

이해 Issue

MySQLi_Result 개체의 num_rows 속성은 실행된 쿼리에서 반환된 결과 집합의 행 수를 반영합니다. 하지만 COUNT(*) 함수를 사용하면 일반 쿼리 결과처럼 여러 행이 아닌 단일 행에 개수 값이 포함된 결과가 나옵니다.

올바른 접근 방법

MySQLi를 사용하여 올바른 카운트 값을 얻으려면 MySQLi_Result 개체에서 단일 결과 행을 가져와 해당 행에서 카운트 값을 검색해야 합니다. 이는 결과 집합의 첫 번째 행에서 열 값의 배열을 반환하는 fetch_row() 메서드를 사용하여 달성할 수 있습니다.

다음은 올바른 접근 방식을 보여주는 예입니다.

$result = $db->query("SELECT COUNT(*) FROM `table`");
$row = $result->fetch_row();
$count = $row[0];
echo 'Row count: ', $count;
로그인 후 복사

이 코드는 첫 번째 행에서 개수 값을 검색하여 인쇄합니다.

위 내용은 MySQLi의 `query()` 메소드가 `COUNT(*)`를 사용할 때 예상치 못한 행 수를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿