我剛剛注意到,mysql_num_rows應返回SELECT或SHOW命令返回的行數,具體爲SHOW TABLE命令返回0。SHOW TABLES和MYSQL_NUM_ROWS
而是顯示受影響的行數而不是num行。
任何人都可以告訴我,如果這是一個錯誤,或者我在這裏丟失什麼?
我剛剛注意到,mysql_num_rows應返回SELECT或SHOW命令返回的行數,具體爲SHOW TABLE命令返回0。SHOW TABLES和MYSQL_NUM_ROWS
而是顯示受影響的行數而不是num行。
任何人都可以告訴我,如果這是一個錯誤,或者我在這裏丟失什麼?
作爲上the PHP documentation page指出:
檢索的行數從一個結果集。對於像SELECT或SHOW這樣的語句,該命令僅對 有效,該語句返回實際結果 集。
我的猜測是SHOW TABLES
不是產生mysql_num_rows
枚舉的結果集類型的技術查詢。
SHOW TABLE
命令用於在數據庫中顯示錶名。另一方面,mysql_num_rows
用於計算查詢得到的結果數量。此查詢取決於您的要求的基礎上...
這些「輔助」功能(如SHOW
,EXPLAIN
,DESCRIBE
等)不會讓你問題他們的結果,就像您在普通表。
但是,如果你正在尋找你如何能做到這一點,SHOW TABLES
你可以做
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
所以基本上你可以使用information_schema
數據庫來獲取信息。
這是一個在mysql中的錯誤,修復它的更新。