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 중국어 웹사이트의 기타 관련 기사를 참조하세요!