Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在使用PDO准备的语句时,如何在使用limit时获得总行数?_Php_Mysql_Pdo_Limit - Fatal编程技术网

Php 在使用PDO准备的语句时,如何在使用limit时获得总行数?

Php 在使用PDO准备的语句时,如何在使用limit时获得总行数?,php,mysql,pdo,limit,Php,Mysql,Pdo,Limit,我找到了一些类似的,但不是我需要的: 背景资料: 我将MySQL与PDO类一起使用 目前,我使用两个查询,如下所示: 要获取一页数据: $sql = "SELECT * FROM `tab` WHERE `condition` = :condition LIMIT $page_size OFFSET $offset"; $array = array('condition'=>$condition); $mysql = $pdo->prepare($sql); $mysql

我找到了一些类似的,但不是我需要的:

背景资料: 我将MySQL与PDO类一起使用

目前,我使用两个查询,如下所示:

要获取一页数据

$sql = "SELECT * FROM `tab`
WHERE `condition` = :condition 
LIMIT $page_size OFFSET $offset";

$array = array('condition'=>$condition);
$mysql = $pdo->prepare($sql);
$mysql->execute($array);
要获取总行数:

$sql = "SELECT COUNT(*) FROM `tab`
WHERE `condition` = :condition";

$array = array('condition'=>$condition);
$mysql = $pdo->prepare($sql);
$mysql->execute($array);

您可以使用
SQL\u CALC\u FOUND\u ROWS
命令告诉MySQL返回匹配记录的总数

$sql = "SELECT SQL_CALC_FOUND_ROWS * FROM `tab`
WHERE `condition` = :condition 
LIMIT $page_size OFFSET $offset";
要获取找到的总行数,可以运行此查询

SELECT FOUND_ROWS()
但是,执行两个单独的查询通常比使用
SQL\u CALC\u FOUND\u ROWS
更快。这是一个


您能展示您的代码/尝试实现它吗?@SulthanAllaudeen,请查看新问题内容。