我刚刚注意到mysql_num_rows应返回SELECT或SHOW命令返回的行数,具体为SHOW TABLE命令返回0。
相反,它显示受影响的行数而不是num行。
任何人都可以告诉我这是一个错误还是我在这里遗漏了什么?
答案 0 :(得分:3)
SHOW TABLE
命令用于在数据库中显示表名。另一方面,mysql_num_rows
用于计算从查询中获得的结果数量。此查询取决于您的需求基础......
答案 1 :(得分:1)
正如the PHP documentation page所述:
从结果集中检索行数。这个命令只是 对于返回实际结果的SELECT或SHOW等语句有效 集。
我的猜测是SHOW TABLES
不是一个技术查询,它会生成mysql_num_rows
枚举的结果集类型。
答案 2 :(得分:1)
这些“帮助”功能(例如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
数据库来获取这些信息。
答案 3 :(得分:0)
这是mysql中的一个错误,修复了更新。