2013-01-24 2 views
1

mysql_num_rows가 SELECT 또는 SHOW 명령에 대해 리턴 된 행 수를 리턴해야하는 곳에서 SHOW TABLE 명령에 대해 특별히 0을 리턴하는 것으로 나타났습니다.SHOW TABLES 및 MYSQL_NUM_ROWS

대신 num 행 대신 영향을받은 행 수가 표시됩니다.

누군가가 버그인지 또는 여기에 누락 된 항목이 있습니까?

답변

1

the PHP documentation page에 명시된 바와 :

결과 집합의 행 수를 취득. 이 명령은 실제 결과를 리턴하는 SELECT 또는 SHOW와 같은 명령문에서만 유효한 입니다.

내 생각 엔 SHOW TABLESmysql_num_rows 열거하는 것으로 설정 결과의 유형을 생성 할 기술적 쿼리되지 않는 것입니다.

3

SHOW TABLE 명령은 데이터베이스에 테이블 이름을 표시하는 데 사용됩니다. 반면에 mysql_num_rows은 쿼리 결과의 개수를 계산하는 데 사용됩니다. 이 쿼리는

1

이 "도우미"기능 (예 : SHOW, EXPLAIN, DESCRIBE 등) 당신에게 그 결과는 일반 테이블에서와 같은 문제를 못하게 ... 귀하의 요구 사항 기준에 따라입니다.

하지만 당신은 당신이 할 수있는 방법을 찾고 있다면, SHOW TABLES 당신은 그래서 기본적으로 해당 정보를 얻기 위해 information_schema 데이터베이스를 사용할 수 있습니다

SELECT `table_name` FROM `information_schema`.`tables` 
WHERE `table_schema`=DATABASE() 
-- DATABASE() selects current database name 
-- you can use the name of any database as a string instead 

을 할 수 있습니다.

0

그것은 mysql의 버그로, 업데이트로 수정되었습니다.