if($sql = $db->query("Count (*) FROM post_items")){
echo mysqli_num_rows($sql);
}
我的代码出了什么问题?这是回显表中行总数的正确方法吗?
答案 0 :(得分:3)
您的查询应该是
`select count(*) FROM post_items`
但呼应
`mysqli_num_rows($sql);`
总是将1
作为ans,因为count函数只返回一行。
而是获取详细信息并显示计数
$row = $sql->fetch_row();
echo $row[0];
答案 1 :(得分:2)
为什么呢?因为你实质上是重复计算。查询在表上执行COUNT
聚合,返回带有计数数字的单行。然后mysqli_num_rows
计算此结果集中的行数 - 单行 - 并返回1.
尝试使用以下行,它应该获取结果集中第一行(唯一)返回的第一个(唯一)列。
echo $sql->fetch_row()[0]
请注意,您在SQL语句中也缺少SELECT
个关键字。
答案 2 :(得分:-2)
应该是
if($sql = $db->query("select count(*) FROM post_items")){
echo mysqli_num_rows($sql);
}