MySQLi 计数(*) 始终返回 1

2022-08-30 11:16:52

我正在尝试计算表中的行数,并认为这是正确的方法:

$result = $db->query("SELECT COUNT(*) FROM `table`;");
$count = $result->num_rows;

但计数总是返回。如果我在phpMyAdmin中使用相同的查询,我会得到正确的结果。它位于一个表格中,所以我也尝试了测试,但返回。(int)1$count[0]NULL

正确的方法是什么?


答案 1

你必须获取那条记录,它将包含Count()的结果

$result = $db->query("SELECT COUNT(*) FROM `table`");
$row = $result->fetch_row();
echo '#: ', $row[0];

答案 2

始终尝试进行关联获取,这样您就可以在多种情况下轻松获得所需的结果

下面是一个示例

$result = $mysqli->query("SELECT COUNT(*) AS cityCount FROM myCity")
$row = $result->fetch_assoc();
echo $row['cityCount']." rows in table myCity.";

推荐