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一行
这是我的 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一行