MySQL COUNT 没有 return 正确的值

MySQL COUNT does not return correct value

这是我的 PHP 代码片段:

$conn = mysqli_connect($servername, $dbusername, $dbupassword, $dbname);
$sql = "SELECT COUNT(*) FROM `users`;";
$count = $conn->query($sql);
echo $count->num_rows;

即使我的 table 中有 5 个用户,它也总是显示 1(见下图)。

我也尝试使用 COUNT(1) 但它也返回了 1。但是当我将语句更改为 SELECT * FROM `users`; 时它 returns 5.

如果我执行 var_dump($count)(与上面相同的代码,但我不使用 num_rows),我会得到以下信息:

object(mysqli_result)#2 (5) {
  ["current_field"]=> int(0)
  ["field_count"]=> int(1)
  ["lengths"]=> NULL
  ["num_rows"]=> int(1)
  ["type"]=> int(0)
}

我是运行phpMyAdmin,版本信息:5.0.2,数据库版本:10.4.14-MariaDB,PHP7.4.10

$conn = mysqli_connect($servername, $dbusername, $dbupassword, $dbname);
$sql = "SELECT COUNT(*) FROM `users`;";
$result = $conn->query($sql);
$row = $result->fetch_row();
echo "row count = " . $row['0'];
var_dump($row);

如果要计算 table 的行数,只需 运行 查询“SELECT COUNT() FROM users”。 它的 return 一行包含总共 table 行。不要使用num_rows方法,因为“SELECT COUNT() FROM users”查询,只有return一行