我需要在执行查询后检索记录总数。我试过这个
<?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的过程..为什么会这样?
答案 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()来检索条目数。