如何从数据库中获取返回的行数

时间:2011-09-21 14:51:40

标签: php database function rows

在我执行数据库查询并且回显了一些行之后,似乎在查询之后我无法获得显示的行数。试图使用mysql_num_rows(),但我的$ result是这样的:

$result = $conn->query($sql) or die();

所以我认为问题在于我使用了内置的MySQLi()类,并且出于某种原因   mysql_num_rows()不符合这个$ result。如何使用我正在使用的当前$结果,或者是否有任何其他方法使用MySQLi()类返回行数来创建$ result ??

2 个答案:

答案 0 :(得分:1)

mysql和mysqli不可互换。它们是两个完全不同的模块,保持它们各自的连接,并且一个的结果/句柄在另一个中是不可用的。他们可能都使用相同的底层mysql库并与同一个数据库交谈,但它们完全相互独立。

如果您正在使用MySQLi,那么坚持使用MySQLi函数,对于您的问题将使用http://php.net/manual/en/mysqli-stmt.num-rows.php

答案 1 :(得分:1)

注1:如果您只需要表格中的行数,最好按照以下步骤操作:

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

注2:请勿混淆mysqli_field_countmysqli_stmt_num_rows。例如:

id firstname
1  foo
2  bar
3  baz
  • field_count是2
  • num_rows是3