mysql - 如何使用mysqli获取总行数

标签 mysql count row

我试图了解 mysqli 扩展并搜索了 google,但除了有用的 php.net 之外得到的信息很少。

现在,毕竟我正在尝试使用 mysql 扩展实现我可以实现的目标,如下所示:

// MYSQL STYLE OF fetching array, query limit and perform total row count all at once

$sql = "SELECT SQL_CALC_FOUND_ROWS *, post.id as pid, bla bla FROM account ORDER BY pid ASC". $eb["array"]['querylimit'];

$result = mysql_query($sql, $eb["con"]);
$TotalRcount = mysql_fetch_row(mysql_query("SELECT FOUND_ROWS()"));

// Performing record count [current]
// $RecordCount = mysql_num_rows($result);

while($row = mysql_fetch_array($result)){
    // read columns
}

使用 mysqli 我怎样才能做到这一点?我确定我错过了很多东西。请帮助我举例说明如何实现我的目标。

最佳答案

你可以试试这个:

//Establish connection using mysqli api
$conn = mysqli_connect('hostname', 'username', 'password', 'database_name');

$sql = "SELECT SQL_CALC_FOUND_ROWS *, post.id as pid, bla bla FROM account ORDER BY pid ASC". $eb["array"]['querylimit'];

$sql2 = "SELECT FOUND_ROWS()";

$result1 = $conn->query($sql);
$result2 = $conn->query($sql2);
$TotalRcount = $result2->fetch_row();

// Performing record count [current]
// $RecordCount = $result->num_rows();

while($row = $result->fetch_array(MYSQLI_BOTH)){
    // read columns
}

在 while 循环中,我使用了 MYSQLI_BOTH 常量,但您可以根据需要将其更改为 MYSQLI_NUM 或 MYSQLI_ASSOC。

关于mysql - 如何使用mysqli获取总行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14682448/

相关文章:

mysql - 编辑-MySQL。大型 MyISAM 表(4000 万条记录)的索引速度非常慢且磁盘上的大小很大

Python 列表无法识别数据库表中的值

TIMESTAMP 字段上的 MYSQL 索引不使用索引进行范围查询

MySQL 选择列仅包含集合中的值的行

bash - 使用命令行工具计算排序序列中的重复项

c++ - 设置 shared_ptr 并设置函数计数

php - 查找并计算字符串中的字符串,然后显示计数最高的字符串

r - 根据一行中的值在r中的数据框中选择行

删除数据框中任意行数的最后 N 行

mysql - 从选择中删除