使用 Sphinx 获取结果总数 MySQL
Get total number of results using Sphinx MySQL
如何使用 mysql 和 sphinx 获得结果总数?
首先我尝试使用 PDO 语句,它 return 一个数字,但它不准确。
$array = $pdo_sphinx->prepare("select * from `my_index` where MATCH ('@name ($search)') limit $start, $limit");
$array->execute();
$query = $pdo_sphinx->prepare("select COUNT(*) from `my_index` where MATCH ('@name ($search)')");
$query->execute();
$total = $query->fetchColumn();
然后我读到你可以从 SHOW META
得到 total_found
如果你在查询后 运行 它
$array = $sphinx->Query("select * from `my_index` where MATCH ('@name ($search)') limit $start, $limit; SHOW META");
$total = $array['total_found'];
$total 是 returning 0,而它应该是 9。如何从上面的查询中得到正确的 total_found
?有没有办法用 PDO 语句做到这一点?我需要正确的分页结果
请注意,当您添加 'SHOW META' 时,它会成为一个多查询。有两个独立的查询,每个查询都有自己的结果集。
PDO multiple queries
(是的,使用 COUNT(*) 可能不准确,因为分组可能有些近似)
如何使用 mysql 和 sphinx 获得结果总数?
首先我尝试使用 PDO 语句,它 return 一个数字,但它不准确。
$array = $pdo_sphinx->prepare("select * from `my_index` where MATCH ('@name ($search)') limit $start, $limit");
$array->execute();
$query = $pdo_sphinx->prepare("select COUNT(*) from `my_index` where MATCH ('@name ($search)')");
$query->execute();
$total = $query->fetchColumn();
然后我读到你可以从 SHOW META
得到 total_found
如果你在查询后 运行 它
$array = $sphinx->Query("select * from `my_index` where MATCH ('@name ($search)') limit $start, $limit; SHOW META");
$total = $array['total_found'];
$total 是 returning 0,而它应该是 9。如何从上面的查询中得到正确的 total_found
?有没有办法用 PDO 语句做到这一点?我需要正确的分页结果
请注意,当您添加 'SHOW META' 时,它会成为一个多查询。有两个独立的查询,每个查询都有自己的结果集。
PDO multiple queries
(是的,使用 COUNT(*) 可能不准确,因为分组可能有些近似)