Php 计算所有表中的行数并回显图形

Php 计算所有表中的行数并回显图形,php,mysql,mysqli,Php,Mysql,Mysqli,我想计算MySQL数据库中所有表中的所有行。我知道InnoDB的问题。我还想指出,与数据库的连接非常好,我只是省略了该代码,因为我认为它与我的问题无关 这是我的密码: $sql = mysqli_query($c, "SELECT SUM(TABLE_ROWS) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'cpus_amd'&qu

我想计算MySQL数据库中所有表中的所有行。我知道InnoDB的问题。我还想指出,与数据库的连接非常好,我只是省略了该代码,因为我认为它与我的问题无关

这是我的密码:

$sql = mysqli_query($c, "SELECT SUM(TABLE_ROWS)
                        FROM INFORMATION_SCHEMA.TABLES
                        WHERE TABLE_SCHEMA = 'cpus_amd'");
然后,我使用PHP echo对图进行回音,如下所示:

我已经阅读了以下问题,但我仍然感到困惑,没有直接找到解决方案:


谢谢您的帮助。

您可以在代码中添加如下内容:

$count = mysqli_num_rows($sql);
其中$count是您发出的请求返回的行数

那你就不需要再做一笔了。你也可以保留总数并写下:

$row = mysqli_fetch_assoc($sql);
然后,假设您在请求中引入了myrows SELECT SUMTABLE_ROWS myrows…,您可以按如下方式检索结果:

$result = $row['myrows']

不能打印或回显查询,只能打印字符串。将查询更改为:

$sql = mysqli_query($c, "SELECT SUM(TABLE_ROWS) AS SumTableRow
                        FROM INFORMATION_SCHEMA.TABLES
                        WHERE TABLE_SCHEMA = 'cpus_amd'");
SumTableRow是SUMTABLE_行的结果

$sql是一个查询,无法进行回显。结果是:

$sqlResult = $sql['SumTableRow'];
这是您可以回显的结果。比如:

echo "<p>This database contains".  $sqlResult ."processors.</p>";
或者,您可以在一个查询中执行此操作:

echo "<p>This database contains". $sql['SumTableRow'] ."processors.</p>";

$sql是一个结果集。。。。您需要从该结果集获取记录。。。。如果要回显查询找到的行数,请使用mysqli\u num\u rows$sql@MarkBaker嗨,马克,谢谢你的洞察力。我还是SQL新手,所以我不太确定我应该在代码方面做些什么。哪一个是正确的?谢谢。$sql['SumTableRow'];出现以下错误:无法使用mysqli_result类型的对象,因为Arrayth这似乎是我以前使用的对象。我试图在这里重新创建发布的情况,但我记不起我做了什么,因为我对SQL还是新手。然而,$count=mysqli\u num\u rows$sql;告诉我只有一个模型,当我直接在phpMyAdmin中运行代码时,我被告知有48个模型,其中包含来自INFORMATION_SCHEMA.TABLES的SELECT SUMTABLE_行,其中TABLE_SCHEMA='CPU_amd'。如果SQL请求返回单个值,例如,mysqli_num_rows将返回一行,其中包含值48。这就是为什么您应该这样做:修改您的请求而不使用SUM,然后它将返回您可以计数或保留SUM的几行,在请求中为您将检索myrows的字段指定一个名称,使用mysqli_fetch_assoc,并检索$row['myrows'],如上所示,我现在得到48。令人惊叹的非常感谢你。我将用新代码编辑我的问题,让其他人看到,并接受你的答案。
echo "<p>This database contains".  $sqlResult ."processors.</p>";
echo "<p>This database contains". $sql['SumTableRow'] ."processors.</p>";