当前位置: 首页 > 面试题库 >

如何使用mysqli获取总行数

岳景明
2023-03-14
问题内容

我试图了解mysqli扩展名,并做了谷歌,但除了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我怎么能做到这一点?我肯定我错过了很多事情。请以示例的方式帮助我,以实现我的目标。


问题答案:

使用mysqli,您可以通过以下方式进行操作(假设mysqli对象已创建-
您也可以使用过程方法,只是略有不同):

$sql = "SELECT SQL_CALC_FOUND_ROWS *, post.id as pid, bla bla 
        FROM account ORDER BY pid ASC". $eb["array"]['querylimit'];
$result = $mysqli->query($sql);
$TotalRcount = $result->num_rows;
while($row=$result->fetch_assoc()){
    $col1 = $row['col1'];  // col1 is a placeholder for whatever column you are reading
    //read columns
}


 类似资料:
  • 问题内容: 我需要从结果对象获取所有行。我正在尝试建立一个将容纳所有行的新数组。 这是我的代码: 应该是包含所有行的新数组,但是我得到一个空数组。 任何想法为什么会这样? 问题答案: 您有一个轻微的语法问题,即错误的分号。 注意结尾的分号吗?这意味着后面的程序段不是循环执行的。摆脱它,它应该可以工作。 另外,您可能需要检查查询是否确实有效:

  • 问题内容: 警告:mysqli :: query():无法在第43行上的C:\ Program Files(x86)\ EasyPHP- DevServer-13.1VC9 \ data \ localweb \ my Portable files \ class_EventCalendar.php中获取mysqli 以下是我的连接文件: 这是我的课: 我对OOP PHP不太满意,而且不确定为什么

  • 问题内容: 较早的mysql扩展具有连接标志,但是我找不到 mysqli的 等效项。 我有一个查询,想知道其子句 匹配 了多少行,而不是实际更改了多少(如所示)。 到目前为止,我发现的唯一方法是使用正则表达式进行解析(看起来像)。但这似乎很hack。 问题答案: 在的选项中。 在PHP 5.3中的PDO :: MySQL中也进行了介绍。

  • 问题内容: 有谁知道如何使用CI运行mysqli查询的线索。我确实在配置文件中更改了数据库驱动程序,但是我仍然无法使用多个查询,例如 任何人都知道如何仅使用CI而不使用其他库来执行此操作的任何线索,因为理论上CI支持mysqli。 谢谢 问题答案: 目前,即使CI支持mysqli,据我所知,也不支持多个查询。

  • 问题内容: 从PDO手册中: PDOStatement :: rowCount()返回 受相应PDOStatement对象执行的最后一个 DELETE,INSERT或UPDATE* 语句影响 的行数 。 * 如果关联的PDOStatement执行的最后一条SQL语句是 SELECT 语句,则 某些数据库可能返回该 语句 返回的行数 。但是, 并非对于所有数据库 都可以 保证 此行为 , 并且便携式

  • 我对这一点很陌生,我发现了一种计算表中行数的方法,我的问题是我的代码只计算“可见”行,而不计算表中屏幕外的行。 这段代码返回39行,但有44行,超过的行在计数时不可见。 有什么帮助吗?