显示表格和MYSQL_NUM_ROWS



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

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

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

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

如 PHP 文档页面所述:

从结果集中检索行数。此命令仅是 适用于返回实际结果的语句(如 SELECT 或 SHOW) 设置。

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

这些"帮助程序"函数(如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数据库来获取这些信息。

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

相关内容

  • 没有找到相关文章

最新更新