1

我刚刚注意到 mysql_num_rows 应该返回为 SELECT 或 SHOW 命令返回的行数,专门为 SHOW TABLE 命令返回 0。

相反,它显示受影响的行数而不是行数。

谁能告诉我这是一个错误还是我在这里遗漏了什么?

4

4 回答 4

3

SHOW TABLE命令用于显示数据库中的表名。另一方面,mysql_num_rows用于计算从您的查询中获得了多少结果。此查询取决于您的要求基础......

于 2013-01-24T03:41:07.320 回答
1

PHP 文档页面所述

从结果集中检索行数。此命令仅对返回实际结果集的 SELECT 或 SHOW 等语句有效。

我的猜测是,这SHOW TABLES不是一个技术查询,它会产生mysql_num_rows枚举的结果集类型。

于 2013-01-24T03:31:22.527 回答
1

这些“辅助”函数(例如SHOWEXPLAINDESCRIBE)不会让您像在常规表中那样发布它们的结果。

但是,如果您正在寻找如何做到这一点,因为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数据库来获取这些信息。

于 2013-01-24T04:15:06.943 回答
0

这是mysql中的一个错误,通过更新修复了它。

于 2013-01-27T16:30:23.507 回答