mysqli_num_rows始终为1

时间:2013-09-27 12:20:30

标签: php mysql

任何人都可以告诉我为什么这个

$pages_query = mysqli_query($link, "SELECT COUNT(`id`) FROM `gallery`") or   
                            die(mysqli_error($link));
$row = mysqli_num_rows($pages_query);
echo $row;

echos 1,即使我的桌子中有7行?

2 个答案:

答案 0 :(得分:2)

那是因为mysqli_num_rows()将返回行数:)并且您的查询将只返回一行(count字段)。

使用

$result = mysqli_fetch_array($pages_query, MYSQLI_NUM);

得到那个数。

答案 1 :(得分:1)

它会因为它总是1行(完全表示你所选择的,我是COUNT)。

您有两种选择:

$pages_query = mysqli_query($link, "SELECT COUNT(`id`) AS total_count FROM `gallery`") or   
                            die(mysqli_error($link));
$row = mysqli_fetch_array($pages_query);
echo $row['total_count'];

或:

$pages_query = mysqli_query($link, "SELECT * FROM `gallery`") or   
                            die(mysqli_error($link));
$row = mysqli_num_rows($pages_query);
echo $row;

- 首先是因为原因要好得多。