在MySQL中获取总行数

3
$rowCount = $conn->query('SELECT COUNT(*) FROM Users');
echo '<pre>'.print_r($rowCount,1).'</pre>';

返回:

mysqli_result Object
(
    [current_field] => 0
    [field_count] => 1
    [lengths] => 
    [num_rows] => 1
    [type] => 0
)

尽管在PHPMyAdmin中看到表格有978行,但需要注意的是...


2
count(*) 只返回一行结果。你需要的是结果,而不是行数。 - nomistic
2个回答

7
你正在使用print_r来生成查询中的行数。你的查询只返回一行,这是行数的计数。
尝试这样做:
$rowCount = $conn->query('SELECT COUNT(*) as rowNumber FROM Users');
$row = $rowCount->fetch_assoc();
echo $row['rowNumber'];

我回答晚了,你比我先做得好 :( - Zaffar Saffee

-1

查询返回一个对象,您需要从该对象中提取结果

$sql = "SELECT COUNT(*) AS count FROM Users";

if ($res = $mysqli->query($sql)) {
    /* Fetch object array */
    while ($obj = $res->fetch_object()) {
        echo '<pre>'.print_r($obj->count,1).'</pre>';
    }
    $res->close();
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接