FOUND_ROWS()在PHP中失败

时间:2011-07-29 11:21:05

标签: php

我需要在执行查询后检索记录总数。我试过这个

<?php
include_once 'common.php';

ini_set("mysql.trace_mode", "Off");

$sql ="get_list(0, 40, 'Name', 'DESC', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)";

$con = mysqli_connect("localhost", "root", "");

mysqli_select_db( $con, "crash_table");

mysqli_query($con, $sql);

$sql2= "SELECT FOUND_ROWS();";

$result = mysqli_query($con, $sql2);

$count = mysqli_fetch_array($result);

echo "Count=".$count[0];

?>

但计数始终为0.在代码中,get_list()是一个40是LIMIT的过程..为什么会这样?

3 个答案:

答案 0 :(得分:1)

SELECT SQL_CALC_FOUND_ROWS是您存储过程中的最后一个语句吗? 因为手册说:

  

FOUND_ROWS()可用的行数是暂时的而不是   旨在通过SELECT之后的声明   SQL_CALC_FOUND_ROWS语句。

答案 1 :(得分:0)

使用SQL_CALC_FOUND_ROWS

的示例
SELECT SQL_CALC_FOUND_ROWS [ FIELDS NAME ] FROM [ TABLE NAME ] WHERE ........ [ORDER BY] LIMIT [ X,Y ];

SELECT FOUND_ROWS();

答案 2 :(得分:-1)

您可以尝试使用mysql_num_rows()来检索条目数。